我正在尝试使用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 *开头的那些层以外的每个层都能正常工作。
有人知道这个导入错误的来源吗?
答案 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指南