原因はmulti_gpu_modelを使った場合、multi_gpu_modelでwrapする前のモデルのsaveで保存しないといけないが、 wrap後のモデルのsaveを使っていたため。
↓はダメな例
parallel_model = multi_gpu_model(model)
...
parallel_model .save("path/to/save")
↓はOK
parallel_model = multi_gpu_model(model) model.compile(...) ... model.save("path/to/save")
parallel_model を使う場合でもmodel.compileは呼ばないといけない(model.saveはparallel_model.compileで登録した情報は保存してくれないため。)
参考: