hans

hans

【Tensorflow】使用Keras,在包含BN层的网络上进行多GPU训练时报错。


如果在 keras 中使用 multi_gpu_model,报错内容:

AttributeError: 'DeviceSpec' object has no attribute 'split'

如果出现这个错误,多半都是源码造成的。

请查看 tensorflow/python/framework/device.py 这个文件,

查找下面这一行:

current_device = DeviceSpec.from_string(node_def.device or "")

将上面这一行注释掉,改成下面这一行:

current_device = node_def.device if isinstance(node_def.device, DeviceSpec) else DeviceSpec.from_string(node_def.device or "")

保存退出,就能正常训练了。

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。