我已经成功运行了以 LSTM 作为第一层的模型。但出于好奇,我用 CuDNNLSTM 替换了 LSTM。但是在model.fit之后,它回复了以下错误信息:
UnknownError: Fail to find the dnn implementation.
[[{{node cu_dnnlstm_5/CudnnRNN}} = CudnnRNN[T=DT_FLOAT, _class=["loc:@training_2/Adam/gradients/cu_dnnlstm_5/CudnnRNN_grad/CudnnRNNBackprop"], direction="unidirectional", dropout=0, input_mode="linear_input", is_training=true, rnn_mode="lstm", seed=87654321, seed2=0, _device="/job:localhost/replica:0/task:0/device:GPU:0"](cu_dnnlstm_5/transpose, cu_dnnlstm_5/ExpandDims_1, cu_dnnlstm_5/ExpandDims_1, cu_dnnlstm_5/concat_1)]]
[[{{node metrics_3/mean_squared_error/Mean_1/_1877}} = _Recv[client_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device="/job:localhost/replica:0/task:0/device:GPU:0", send_device_incarnation=1, tensor_name="edge_4852_metrics_3/mean_squared_error/Mean_1", tensor_type=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:CPU:0"]()]]
Run Code Online (Sandbox Code Playgroud)
我在这个讨论中尝试了 TestCudnnLSTM()并成功通过了测试:
Keras 版本:2.2.4 Tensorflow 版本:1.12.0 创建模型 _______________________________________________________ 层(类型)输出形状参数# ================================================== ================ cu_dnnlstm_1 (CuDNNLSTM) (无, 1000, 1) 16 ================================================== ================ 总参数:16 可训练参数:16 不可训练的参数:0 _______________________________________________________ 没有任何 模型编译
看来问题是在模型拟合的时候出现的。但我不知道到底是什么问题?