web-dev-qa-db-fra.com

Anaconda Lecture de mauvaise version Cuda

J'ai un environnement de condada avec Pytorch et Tensorflow, qui nécessitent tous deux Cuda 9.0 (~ CudaToolkit 9,0 de Conda). Après avoir installé Pytorch avec Torchvision et le CudaToolkit (comme ils sont fournis sur leur site Web), je voulais installer Tensorflow, le problème ici est que je reçois cette erreur:

Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: / 
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
failed                                                                                                   

UnsatisfiableError: The following specifications were found
to be incompatible with the existing python installation in your environment:

Specifications:

  - tensorflow==1.12.0 -> python[version='2.7.*|3.6.*']
  - tensorflow==1.12.0 -> python[version='>=2.7,<2.8.0a0|>=3.6,<3.7.0a0']

Your python: python=3.5

If python is on the left-most side of the chain, that's the version you've asked for.
When python appears to the right, that indicates that the thing on the left is somehow
not available for the python version you are constrained to. Note that conda will not
change your python version to a different minor version unless you explicitly specify
that.

The following specifications were found to be incompatible with your system:

  - feature:/linux-64::__cuda==10.2=0
  - feature:|@/linux-64::__cuda==10.2=0

Your installed version is: 10.2

Si je cours nvcc ou nvidia-smi sur mon hôte ou l'environnement de condada activé, je reçois que j'ai installé Cuda 10.2, même si conda list me montre que CudaToolkit 9.0 est installé. Une solution à cela?

ÉDITER:

Lors de l'exécution de ce code exemple:

# setting device on GPU if available, else CPU
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
print('Using device:', device)
print()

#Additional Info when using cuda
if device.type == 'cuda':
    print(torch.cuda.get_device_name(0))
    print('Memory Usage:')
    print('Allocated:', round(torch.cuda.memory_allocated(0)/1024**3,1), 'GB')
    print('Cached:   ', round(torch.cuda.memory_cached(0)/1024**3,1), 'GB')


print(torch.version.cuda)

Je reçois cette sortie:

GeForce GTX 1050
Memory Usage:
Allocated: 0.0 GB
Cached:    0.0 GB
9.0.176

Donc, Pytorch reçoit la version correcte Cuda, je ne peux tout simplement pas être installée Tensorflow-GPU.

5
filip

Mon expérience est que même si la version détectée CUDA est incorrecte par Conda, quelle importance est la version CUDATOOLKIT.

Le problème réel pour moi était le incompatible python version. Par exemple, vous pourriez avoir Python 3.7/3.8 mais cette version de TENSORFLOW 'T Soutien que:

tensorflow == 1.12.0 -> Python [Version = '> = 2,7, <2.8.0A0 |> = 3.6, <3.7.0A0']

Essayez un environnement de condada plus ancien ou un nouveau tensorflow, la dernière version avant 2.0 est de 1,15

1
Dawars

Si je n'ai pas mal compris, vous avez installé les paquets en utilisant le

conda install

de - https://pytorch.org/get-started/locally/ J'ai eu des problèmes avec l'installation de Conda Pytorch et Cuda: j'ai résolu en supprimant les packages installés avec des condada et réinstallez-la via pépin.

Si vous avez peur de gâcher le condada Enviroment à l'aide de PIP, je vous suggère de créer un autre environnement afin de tester cette solution.

  1. Utilisez Conda pour supprimer Pytorch et Cuda. Voir Suppression de packages AT Packages de gestion de condada
  2. Installez le Toolkit Cuda dont vous avez besoin. Notez que Pytorch ne prend en charge que Cuda 9.2, 10.1 et 10.2, comme vous pouvez le constater sur la page de téléchargement de Pytorch. Si votre système d'exploitation est Ubuntu 19, suivez les instructions CUDA pour Ubuntu 18. Notez également que tous les GPU ne prennent pas en charge la dernière version de la boîte à outils pour des raisons de pilote (les 1050 doivent être suffisamment récentes pour les supporter tous, jusqu'à 10,1 sûr parce que j'ai utilisé il).
  3. Suivez les instructions pour installer PyTorch avec le support CUDA approprié via PIP à page de téléchargement Pytorch . Voir Utilisation de PIP dans un environnement AT Conma Gestion des packages
1
Wippo