J'ai exécuté le modèle avec LSTM comme première couche avec succès. Mais par curiosité, je remplace LSTM par CuDNNLSTM. Mais après model.fit, il a répondu au message d'erreur suivant:
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"]()]]
J'ai essayé TestCudnnLSTM () à ce sujet discussion et j'ai réussi le test:
Version Keras: 2.2.4 Version Tensorflow: 1.12.0 Création du modèle _________________________________________________________________ Couche (type) Forme de sortie Paramètre # #. ____.] ================================================ ================== cu_dnnlstm_1 (CuDNNLSTM) (Aucun, 1000, 1) 16 =========== ================================================== ===== Paramètres totaux: 16 Paramètres entraînables: 16 Paramètres non entraînables: 0 _________________________________________________________________ Aucun Modèle compilé
Il semble que le problème apparaisse lors de l'ajustement du modèle. Mais je ne sais pas exactement quel est le problème?
Dans tensorflow 2.0, j'ai eu la même erreur lors de l'exécution du modèle RNN LSTM.La raison était due à une version inférieure de mon cuDNN.Dans la page des exigences du tensorflow gpu, il était recommandé d'avoir
cuDNN SDK >= 7.4.1.
Vous pouvez vous référer pour plus de détails dans https://www.tensorflow.org/install/gp
Demandé dans le forum Tensorflow Reddit
Assurez-vous que vous disposez de la bonne version du pilote Nvidia pour la version de CUDA que vous utilisez. Vous pouvez le voir ici. https://docs.nvidia.com/deploy/cuda-compatibility/index.html#binary-compatibility
J'utilise CUDA 9.0, mais j'utilisais un pilote Nvidia inférieur à 384.81. La mise à jour du pilote Nvidia vers un nouveau pilote a résolu le problème pour moi.