码迷,mamicode.com
首页 > 其他好文 > 详细

单机多GPU训练报错

时间:2020-02-18 14:37:31      阅读:312      评论:0      收藏:0      [点我收藏+]

标签:应该   文件加载   dev   scala   错误   attr   训练   ice   出现   

问题一

  在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训练报错

标签:应该   文件加载   dev   scala   错误   attr   训练   ice   出现   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!