- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我训练了一个使用 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/
虽然在 tf.keras.layers.LSTM有一个 activation参数(默认 tanh) CuDNNLSTM没有,而有 activity_regularizer范围。 我错过了什么吗? Cu
我在尝试使用 CuDNNLSTM 而不是 keras.layers.LSTM 时遇到了问题。 这是我得到的错误: Failed to call ThenRnnForward with model co
我想加速我的 LSTM 网络,但是当我将它用于 OCR(其中序列具有可变长度)时,我不能使用普通的 LSTM 实现。这就是我使用“tf.nn.dynamic_rnn”的原因。 基于 tensorflo
我正在尝试使用 CuDNNLSTM Keras 单元来提高循环神经网络的训练速度(文档 here)。 当我运行时: from keras.layers import Bidirectional, Cu
我已将此问题发布为 issue在 Keras 的 Github 中,但认为它可能会在这里吸引更广泛的受众。 系统信息 我是否编写了自定义代码(而不是使用示例目录):对官方 Keras 教程的最小更改
我已经使用 AWS p3 实例使用 GPU 加速训练以下模型: x = CuDNNLSTM(128, return_sequences=True)(inputs) x = Dropout(0.2)(x
我正在尝试将 dropout 与 CudnnLSTM (tf.contrib.cudnn_rnn.python.layers.CudnnLSTM) 一起使用,我希望能够只构建一个图并将 dropout
我已经成功运行了以 LSTM 作为第一层的模型。但出于好奇,我用 CuDNNLSTM 替换了 LSTM。 但是在model.fit之后,它回复了以下错误信息: UnknownError: Fail t
我训练了一个使用 CuDNNLSTM 单元的 keras 模型,现在希望将模型加载到缺少 GPU 的主机设备上。因为 CuDNNLSTM 单元需要 GPU,所以加载过程会爆炸,抛出: No OpKer
我训练了一个使用 CuDNNLSTM 单元的 keras 模型,现在希望将模型加载到缺少 GPU 的主机设备上。因为 CuDNNLSTM 单元需要 GPU,所以加载过程会爆炸,抛出: No OpKer
我在使用 GPU 的 tensorflow 中使用 CUDNNLSTM 训练了一个模型。当我尝试在 cpu 中使用模型进行推理时,出现此错误: Invalid argument: No OpKerne
通过将其值作为层的参数传递,可以将循环丢失应用于 Keras 中的基本 LSTM 或 GRU 层。 CuDNNLSTM 和 CuDNNGRU 是与 CUDA 兼容的 LSTM 和 GRU 层。主要优势
我基于 LSTM 层使用 Keras 开发了一个神经网络模型。为了提高 Paperspace(GPU 云处理基础设施)的速度,我用新的 CuDNNLSTM 切换了 LSTM 层。 层。然而,这仅适用于
CuDNNGRU在 TensorFlow 1.0真的很快。但是当我转到 TensorFlow 2.0 时我找不到 CuDNNGRU .简单 GRU TensorFlow 2.0真的很慢. 有什么办法可
我正在使用 Python 中的 Tensorflow 训练 LSTM 网络,并想切换到 tf.contrib.cudnn_rnn.CudnnLSTM 以加快训练速度。我做的是替换 cells = tf
我可以使用他们的 GPU 执行此操作,但使用他们的 TPU 时会检索到一个错误...请问这里有没有人知道我想念什么?将 TPU 与 CuDNNLSTM 实际结合使用是否有意义?还是 CuDNNLSTM
当我编写 tf.keras.layers.LSTM 时,我收到了警告 请注意,该层并未针对性能进行优化。请使用 tf.keras.layers.CuDNNLSTM 以获得更好的 GPU 性能。 但是当
我是一名优秀的程序员,十分优秀!