【发布时间】:2019-11-03 20:32:32
【问题描述】:
我训练了一个使用 CuDNNLSTM 单元的 keras 模型,现在希望将模型加载到缺少 GPU 的主机设备上。但是,因为CuDNNLSTM 单元需要 GPU,所以加载过程会爆炸,抛出:
没有注册 OpKernel 以支持具有这些属性的 Op 'CudnnRNN'。
是否有一些后门可以让我在没有 GPU 的主机上加载模型?任何建议都会非常有帮助!
【问题讨论】:
-
也许你可以用 LSTM 替换它并加载权重并运行推理?
-
@kvish 有没有办法在加载模型之前改变 myModel.save() 的结果?我只是将模型解析为 h5 对象还是有更好的 API?
-
您可以将模型解析为 json。它不会节省重量,只会节省架构。您可以使用 save_weights() 函数单独保存权重,然后使用 load_weights() 加载权重。这个FAQ 很好地概述了可用的选项。也许您可以将 LSTM 架构解析为 json,然后加载 json,然后加载权重?
标签: tensorflow keras