TUNGchuan 2019-11-15 18:24 采纳率: 0%
浏览 1209

keras多GPU训练,其中一块无法调用

已经按multi_gpu_model进行了设置
但是运行的时候还是只能调用一个GPU,另一张计算卡完全没用,是什么原因呢?

from keras.utils import multi_gpu_model
...
model = build_model()
optimizer = keras.optimizers.Adadelta(lr=1.0, rho=0.95, epsilon=1e-06)
model_parallel=multi_gpu_model(model,2)
model_parallel.compile(loss='mse',
                  optimizer=optimizer,
                  metrics=['mae'])
...         
history = model_parallel.fit(train_data, y_train, epochs=EPOCHS, validation_split=0.2, verbose=1,callbacks=[PrintDot()])

图片说明
图片说明

  • 写回答

2条回答 默认 最新

  • threenewbee 2019-11-16 00:23
    关注

    看你的build_model()怎么写的,GPU不能自动并行计算,需要你自己写代码,实现任务并行和数据并行。否则出现GPU被分配,但是没有真正使用的情况。
    这方面,Keras的文档也有介绍的

    评论

报告相同问题?

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站