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

1 python-3.x deep-learning tensorflow recurrent-neural-network keras-layer

我尝试从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”

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

小智 5

from tensorflow.keras.layers import CuDNNLSTM可以使用from tensorflow.compat.v1.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())
Run Code Online (Sandbox Code Playgroud)

输出:

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
Run Code Online (Sandbox Code Playgroud)