pytorch-cuda安装报错

2022.12.8在win+cuda11.8下安装最新Pytorch GPU版时遇到包不兼容的问题,该文记录安装的整个流程

一、按照cuda版本在官网找命令

Pytorch官网命令如下
在win、cuda11.8下安装GPU版Pytorch

conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia

分析该命令,-c后面为安装包的源,-c pytorch表示使用官方源,可能出现速度慢等问题

二、换源

因此一般先将conda切换清华源

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/win-64/

三、Bug描述

换源后去掉-c执行命令如下

conda install pytorch torchvision torchaudio pytorch-cuda=11.7

报错包不兼容,出现冲突

Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
Examining torchaudio:  43%|██████████████████████████████████████████████▎                                                             | 3/7 [00:22<00:24,  6.10s/it]/failed                                                                                                                                                                

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

Specifications:

  - torchaudio -> python[version='2.7.*|3.5.*|3.6.*|>=2.7,<2.8.0a0|>=3.5,<3.6.0a0|3.4.*']

Your python: python=3.7

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 each other:

Output in format: Requested package -> Available versions

Package typing conflicts for:
torchvision -> typing_extensions -> typing[version='>=3.7.4']
pytorch -> typing_extensions -> typing[version='>=3.7.4']

Package pytorch conflicts for:
torchaudio -> pytorch[version='1.10.0|1.10.1|1.10.2|1.11.0|1.12.0|1.12.1|1.13.0|1.9.1|1.9.0|1.8.1|1.8.0|1.7.1|1.7.0|1.6.0']
torchvision -> pytorch[version='1.10.0|1.10.1|1.10.2|1.11.0|1.12.0|1.12.1|1.13.0|1.9.1|1.9.0|1.8.1|1.8.0|1.7.1|1.7.0|1.6.0|1.5.1|1.5.0|1.4.0|1.3.1|1.3.0|1.2.0|>=1.1.0|>=1.0.0|>=0.4']

Package pytorch-cuda conflicts for:
pytorch -> pytorch-cuda[version='>=11.6,<11.7|>=11.7,<11.8']
torchaudio -> pytorch-cuda[version='11.6.*|11.7.*']
torchvision -> pytorch==1.13.0 -> pytorch-cuda[version='>=11.6,<11.7|>=11.7,<11.8']
torchaudio -> pytorch==1.13.0 -> pytorch-cuda[version='>=11.6,<11.7|>=11.7,<11.8']
torchvision -> pytorch-cuda[version='11.6.*|11.7.*']

Package requests conflicts for:
python=3.7 -> pip -> requests
torchvision -> request

四、解决方法

参考之前安装成功的命令为

conda install pytorch torchvision torchaudio cudatoolkit=11.3

尝试执行

conda install pytorch torchvision torchaudio cudatoolkit=11.7

报错找不到包

PackagesNotFoundError: The following packages are not available from current channels:
  - cudatoolkit=11.7

推测原因可能是cuda11.7将cudatoolkit=11.7换为pytorch-cuda=11.7,而-c nvidia为pytorch-cuda的源。

执行如下命令成功安装

 conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c nvidia  

五、查看是否使用GPU

import torch

use_gpu = torch.cuda.is_available()
print(use_gpu)
print("devices count:", torch.cuda.device_count())

输出

True
devices count: 1

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
乘风的头像乘风管理团队
上一篇 2023年3月5日 上午10:07
下一篇 2023年3月5日 上午10:08

相关推荐