Keras - ImportError:无法导入名称' CuDNNLSTM'

时间:2017-12-17 17:02:08

标签: keras keras-layer cudnn

我正在尝试使用CuDNNLSTM Keras单元来提高复现神经网络的训练速度(doc here)。

当我跑步时:

from keras.layers import Bidirectional, CuDNNLSTM

我收到此错误:

  

ImportError:无法导入名称' CuDNNLSTM'

我的配置是Keras 2.0.8,python 3.5,tensorflow-gpu 1.4.0(全部由Anaconda管理)我安装了CUDA 8.0和cudnn 6.0,应该可以使用tensorflow的nvidia依赖项({{3 }})。我的代码设置使Keras有效地使用张量流后端,除了以CuDNN *开头的那些层以外的每个层都能正常工作。

有人知道这个导入错误的来源吗?

4 个答案:

答案 0 :(得分:3)

事实证明,keras 2.0.8没有更新版本中出现的这类图层的代码。

我使用pip升级到最新版本:

pip install --upgrade keras

现在一切正常。

答案 1 :(得分:1)

对于Tensorflow-2:您可以仅使用不具有激活功能的LSTM,它将自动使用CuDNN版本

答案 2 :(得分:0)

在conda中将会是(截至2019年11月)

conda config --add channels conda-forge
conda install keras==2.3.0

答案 3 :(得分:0)

这些层已在最新版本中弃用。
有关详细的教程,请参见this Keras指南