tensorflow.keras.layers:ImportError:无法导入名称“CuDNNLSTM”

Posted

技术标签:

【中文标题】tensorflow.keras.layers:ImportError:无法导入名称“CuDNNLSTM”【英文标题】:tensorflow.keras.layers: ImportError: cannot import name 'CuDNNLSTM' 【发布时间】:2021-04-22 09:57:26 【问题描述】:

请我尝试从 tensorflow.keras.layers 导入 CuDnnLSTM 以提高我的训练速度,但出现此错误。我知道使用 Keras 2.0.8 和 python 3.5 的用户提出了类似的问题。

我的配置是 tensorflow 版本 2.0.0-beta1 和 Python 3.6.10。

这是我尝试过的: from tensorflow.keras.layers import CuDNNLSTM

我得到了这个错误, ImportError:无法导入名称“CuDNNLSTM”

请问有人知道如何解决此错误吗?提前致谢!

【问题讨论】:

这能回答你的问题吗? Keras - ImportError: cannot import name 'CuDNNLSTM' 我尝试了***.com/questions/47857437/… 建议的解决方案:这就是我所做的,!pip install --upgrade keras on colab。仍然得到:(ImportError:无法导入名称'CuDNNLSTM') 【参考方案1】:

您可以使用from tensorflow.compat.v1.keras.layers import CuDNNLSTM,而不是from tensorflow.keras.layers import CuDNNLSTM

请参考下图的工作代码

import tensorflow as tf
print(tf.__version__)
from tensorflow.keras.models import Sequential
from tensorflow.compat.v1.keras.layers import CuDNNLSTM

model = Sequential()
model.add(CuDNNLSTM(1, return_sequences=0, input_shape=(1, 1)))
print(model.summary())

输出:

2.0.0-beta1
Model: "sequential"
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
cu_dnnlstm (CuDNNLSTM)       (None, 1)                 16        
=================================================================
Total params: 16
Trainable params: 16
Non-trainable params: 0
_________________________________________________________________
None

【讨论】:

@Complex1234,如果它回答了您的问题,请您接受并投票赞成答案。谢谢

以上是关于tensorflow.keras.layers:ImportError:无法导入名称“CuDNNLSTM”的主要内容,如果未能解决你的问题,请参考以下文章

AttributeError:模块“tensorflow_core.keras.layers.experimental.preprocessing”没有属性“RandomFlip”

如何在训练 tensorflow.keras 期间替换损失函数

Tensorflow.keras:RNN 对 Mnist 进行分类

tensorflow 如何确定将选择哪些 LSTM 单元作为输出?

i = ++i + ++i

正确理解i=i++ i+=i++ i=i++ + i++