• 单机多GPU训练报错


    问题一

      在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 对象

  • 相关阅读:
    ES6笔记
    JavaScriptOOP (三)
    JavaScriptOOP(二)
    JavaScriptOOP(一)
    基于vue-cli 将webpack3 升级到 webpack4 配置
    JavaScript 中 call,apply 和 bind
    vue 2.6 更新变动
    JavaScript严格模式
    vue 修饰符 整理
    webpack打包将配置文件单独抽离不压缩打包
  • 原文地址:https://www.cnblogs.com/dan-baishucaizi/p/12326026.html
Copyright © 2020-2023  润新知