Sur Keras
Dans la bibliothèque d'apprentissage profond de haut niveau, il existe plusieurs types de couches récurrentes, dont les suivantes LSTM
(Mémoire à long terme et à court terme) et CuDNNLSTM
. Selon le Documentation sur Keras , a CuDNNLSTM
est un :
Implémentation rapide de LSTM soutenue par CuDNN. Ne peut être exécuté que sur GPU, avec le backend TensorFlow.
Je pense que Keras utilise automatiquement le GPU chaque fois que cela est possible. Selon le Instructions de construction de TensorFlow Pour avoir un backend GPU TensorFlow fonctionnel, vous aurez besoin de CuDNN :
Les logiciels NVIDIA suivants doivent être installés sur votre système :
- Cuda Toolkit de NVIDIA (>= 7.0). Nous recommandons la version 9.0. Pour plus de détails, consultez la documentation de NVIDIA. Assurez-vous que vous ajoutez les chemins d'accès Cuda pertinents à la variable d'environnement LD_LIBRARY_PATH comme décrit dans la documentation de NVIDIA.
- Les pilotes NVIDIA associés au Cuda Toolkit de NVIDIA.
- cuDNN (>= v3). Nous recommandons la version 6.0. Pour plus de détails, consultez la documentation de NVIDIA, en particulier la description de l'ajout du nom de chemin approprié à votre variable d'environnement LD_LIBRARY_PATH.
Par conséquent, comment un CuDNNLSTM
diffèrent en quoi que ce soit d'une LSTM
en utilisant un backend GPU TensorFlow ? Est-ce que CuDNNLSTM
sont automatiquement sélectionnées et remplacent les LSTM
lorsqu'un backend TensorFlow GPU disponible est trouvé ?