web-dev-qa-db-fra.com

Comment puis-je faire fonctionner tensorflow sur un GPU avec la capacité 2.0?

J'ai réussi à installer tensorflow (GPU) sur Linux Ubuntu 16.04 et apporté quelques petites modifications afin de le faire fonctionner avec la nouvelle version d'Ubuntu LTS.

Cependant, je pensais (qui sait pourquoi) que mon GPU répondait à l'exigence minimale d'une capacité de calcul supérieure à 3,5. Ce n'était pas le cas puisque mon GeForce 820M n'a que 2.1. Existe-t-il un moyen de faire fonctionner la version GPU tensorflow avec mon GPU?

Je pose cette question car, apparemment, il n'y avait aucun moyen de faire fonctionner la version GPU tensorflow sur Ubuntu 16.04 mais en cherchant sur Internet, j'ai découvert que ce n'était pas le cas et en fait je l'ai fait presque fonctionner sans cette exigence insatisfaite. Maintenant, je me demande si ce problème avec la capacité de calcul du GPU pourrait également être résolu.

31
mickkk

Versions GPU récentes de tensorflow nécessite une capacité de calcul 3.5 ou supérieure (et utilisez cuDNN pour accéder au GPU.

cuDNN nécessite également un GPU de cc3.0 ou supérieur :

cuDNN est pris en charge sur les systèmes Windows, Linux et MacOS avec les GPU Pascal, Kepler, Maxwell, Tegra K1 ou Tegra X1.

  • Kepler = cc3.x
  • Maxwell = cc5.x
  • Pascal = cc6.x
  • TK1 = cc3.2
  • TX1 = cc5.3

Les GPU Fermi (cc2.0, cc2.1) ne sont pas pris en charge par cuDNN.

Les GPU plus anciens (par exemple, la capacité de calcul 1.x) ne sont pas non plus pris en charge par cuDNN.

Notez qu'il n'y a jamais ni une version de cuDNN ni aucune version de TF prenant officiellement en charge les GPU NVIDIA inférieurs à cc3.0. La version initiale de cuDNN a commencé en exigeant des GPU cc3.0, et la version initiale de TF a commencé en exigeant des GPU cc3.0.

24
Robert Crovella

Mise à jour de septembre 2017: aucun moyen de le faire sans problèmes ni douleurs. J'ai essayé de toutes mes forces et j'ai même appliqué le truc ci-dessous pour le forcer à courir, mais j'ai finalement dû abandonner. Si vous êtes sérieux avec Tensorflow, allez-y et achetez un GPU de capacité de calcul 3.0.

C'est une astuce pour forcer le tensorflow à s'exécuter sur un GPU de capacité de calcul 2.0 (pas officiellement):

  1. Recherchez le fichier dans Lib/site-packages/tensorflow/python/_pywrap_tensorflow_internal.pyd (orLib/site-packages/tensorflow/python/_pywrap_tensorflow.pyd)
  2. Ouvrez-le avec Notepad ++ ou quelque chose de similaire

  3. Recherchez la première occurrence de 3\.5.*5\.2 utilisant regex

  4. Vous voyez le 3.0 avant 3.5 * 5.2, changez-le en 2.0

J'ai changé comme ci-dessus et je peux faire un calcul simple avec le GPU, mais je suis coincé avec des problèmes étranges et inconnus lorsque j'essaie avec des projets pratiques (ces projets fonctionnent bien avec le GPU 3.0)

9
Tin Luu