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

总结

到此这篇关于pytorch cuda安装报错解决的文章就介绍到这了,更多相关pytorch cuda安装报错内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(pytorch cuda安装报错的解决方法)