web-dev-qa-db-fra.com

Différence entre les bibliothèques d'installation du GPU Tensorflow et du processeur

Récemment, je souhaitais déplacer mes bibliothèques python sur une clé USB afin de les maintenir toutes constantes lors du basculement entre mon poste de travail et mon ordinateur portable. (En outre, si je mets à jour un, il est mis à jour sur un autre également)

Pour cela, j'ai installé une version de tensorflow-gpu sur une clé USB (mon ordinateur portable n'a pas de GPU). Tout fonctionne correctement sans problème à la fois sur PC (il détecte et utilise mon GPU sans problème) et sur ordinateur portable (il utilise automatiquement mon processeur).

C'est là que réside ma question. Quelle est la différence entre un 

tensorflow-gpu 

Et juste

tensorflow

? (Parce qu'en l'absence de GPU, tensorflow-gpu utilise automatiquement la version du processeur.)

La différence réside-t-elle uniquement dans le support GPU? Alors pourquoi avoir une version non GPU de tensorflow?

Aussi, est-ce que ça va de procéder comme ça? Ou dois-je créer des environnements virtuels pour conserver des installations séparées pour le processeur et le processeur graphique?


Edit: La réponse la plus proche que je puisse trouver est Comment développer un écoulement tensoriel avec gpu sans gpu

Mais il spécifie simplement que son complètement correct d'utiliser tensorflow-gpu sur une plate-forme de processeur, mais il ne répond toujours pas à ma première question. De plus, la réponse pourrait être obsolète car tensorflow publie régulièrement de nouvelles mises à jour.


Edit 2: J'avais installé la version tensorflow-gpu sur mon poste de travail avec GTX 1070 (installation réussie).

De plus, je comprends que la différence est que pip install tensorflow-gpu nécessite l'installation d'un périphérique compatible CUDA, mais ma question concerne davantage l'utilisation des bibliothèques, car je n'ai aucun problème à utiliser la version tensorflow-gpu sur mon ordinateur portable (sans GPU) et tous mes scripts courir sans erreur.

(Également retiré pip installer d'en haut pour éviter toute confusion)


Edit 3:

De plus, tensorflow-gpu n'est pas exécuté sur un système sans GPU, comme pour le paramétrage de CUDA_VISIBLE_DEVICES=-1

5
Rohan Pooniwala

Une chose à noter: CUDA peut être installé même si vous n’avez pas de GPU dans votre système.

Pour les paquets tensorflow et tensorflow-gpu, j'espère que cela dissipe la confusion. oui/non signifie "Le paquet fonctionnera-t-il immédiatement lors de l'exécution deimport tensorflow as tf"? Voici les différences:

| Support for TensorFlow libraries | tensorflow | tenosorflow-gpu |
|----------------------------------|------------|-----------------|
| cpu-only                         |    yes     |       no        |
| gpu with cuda+cudnn installed    |    yes     |       yes       |
| gpu without cuda+cudnn installed |    yes     |       no        |

Éditer: a confirmé les réponses no sur un système cpu-only et le gpu without cuda+cudnn installed (en supprimant les variables d'environnement CUDA + CuDNN).

2
burglarhobbit

tensorflow-gpu nécessite cuda/cudnn. tensorflow ne le fait pas. pip n'installe pas cuda pour vous (conda le fait), donc pip install tensorflow-gpu ne fonctionnera pas immédiatement avec la plupart des systèmes sans gvu nvidia.

0
user2653663