首页 > 其他 > 详细

单机多GPU训练报错

时间:2020-02-18 15:01:59      阅读:231      评论:0      收藏:0      [点我收藏+]

问题一

  在keras中使用多个GPU训练模型时,出现错误 AttributeError: ‘_TfDeviceCaptureOp‘ object has no attribute ‘_set_device_from_string‘ , 根据错误提示是‘_TfDeviceCaptureOp‘对象没有属性‘_set_device_from_string‘

解决措施:经过思考,我觉得我的tensorflow版本可能有问题,所以将tensorflow从1.14.0版本降到1.12.0版本,此问题得到解决。但是又出现了问题二。

问题二

  Can‘t concatenate scalars (use tf.stack instead) for ‘yolo_loss_1/concat‘ (op: ‘ConcatV2‘) with input shapes: [], [], [] 。报错信息提示两个对象不能拼合。

解决措施:第一次看见一脸懵逼,后来看代码发现是调用 model = multi_gpu_model(model, gpus=2) 出错,这里的model对象是有问题的,它应该是网络架构,不应该包含其他,而我在调用时写在了模型文件加载之后,所以我调整了代码将这段代码改为:model_body = multi_gpu_model(model_body, gpus=2) ,这里传入的model_body是keras的 Model 对象

 

单机多GPU训练报错

原文:https://www.cnblogs.com/dan-baishucaizi/p/12326026.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!