如果在 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 "")
保存退出,就能正常訓練了。