gpt4 book ai didi

tensorflow - Keras:在没有 GPU 的主机上加载使用 CuDNNLSTM 构建的模型

转载 作者:行者123 更新时间:2023-12-02 17:03:26 25 4
gpt4 key购买 nike

我训练了一个使用 CuDNNLSTM 单元的 keras 模型,现在希望将模型加载到缺少 GPU 的主机设备上。因为 CuDNNLSTM 单元需要 GPU,所以加载过程会爆炸,抛出:

No OpKernel was registered to support Op 'CudnnRNN' with these attrs.

是否有一些后门可以让我在没有 GPU 的主机上加载模型?任何建议都会非常有帮助!

最佳答案

注意:我使用的是 Keras 2.2.4 和 TensorFlow 1.12.0。我能够通过以下步骤解决问题:

1) 使用 CudnnLSTM 训练模型并保存模型 (model_GPU.json) 和权重 (*.h5)。

2) 为 LSTM 定义相同的模型更改 CudnnLSTM,这必须在没有 GPU 的系统/计算机上完成,然后您可以保存模型 (model_CPU.json)。

2*) 在 LSTM 单元格中设置 activation='tanh',recurrent_activation='sigmoid'。因为这些是 CudnnLSTM 中的默认值。

3) 然后你可以用 CudnnLSTM 训练的权重加载 model_CPU.json。

具体来说,我使用了以下内容

中央处理器:

from keras.layers import LSTM

Bidirectional(LSTM(hidden_units_LSTM, return_sequences=True,activation='tanh',recurrent_activation='sigmoid'))(output)

GPU:

from keras.layers import CuDNNLSTM

Bidirectional(CuDNNLSTM(hidden_units_LSTM, return_sequences=True))(output)

关于tensorflow - Keras:在没有 GPU 的主机上加载使用 CuDNNLSTM 构建的模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52900017/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com