踩坑系列之pytorch安装之后不能使用cuda

Posted 浅冲一下

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了踩坑系列之pytorch安装之后不能使用cuda相关的知识,希望对你有一定的参考价值。

为什么torch.cuda.is_avaliable总是False


参考的大神连接: 安装pytorch报错torch.cuda.is_available()=false的解决方法

巨坑之默认的安装源为清华源

原因说明

之前因为conda本身的安装源速度并不是很快,故将默认的安装源换成了清华源,本身也觉得没有任何问题,但是在安装pytorch的时候出现了难以发现的错误。
如下图:从pytorch的官网下载自己所需要的版本,然后复制了最后一行的下载命令,

下载的时候因为默认源为清华源,很顺畅,得劲。下载完,进行测试的时候,怎么都不行。
测试代码为(linux 下的代码):

先激活刚刚下载pytorch对应的虚拟环境

conda activate pytorch

在进入python环境

python

导入pytorch包

import torch

验证是否可以使用cuda

torch.cuda.is_available()

如果你安装的一切都是正确的话,返回的结果应该为:

True

但是我一直为False,查看了无数次的cuda和pytorch对应的版本,也重启了无数次,直到我使用

conda list

查看我的安装包的时候,我突然注意到我安装的pytorch后面的注释为py37_cpu_0,如下,我就很纳闷了,我安装的不是cuda版本吗,然后又是无数次的卸载安装,还是这个版本,好无奈

后面查看到一篇大神博客,醍醐灌顶,大神连接

好像是清华源没有pytorch对应的cuda,所以一直给你下载的都是cpu版本。

解决办法

方法一(较为方便)

将conda下载源换回为默认源或者修改默认源为科大源:

conda config --remove-key channels

切换之后,清华源将不再起作用,起作用的为默认源。

使用下载命令(这个对应自己在pytorch上所给的下载连接)

conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch

但是在此情况下,下载容易中断,所以建议切换到pip下载好一点(将conda改成pip)如下:

复制下面连接下载:

pip3 install torch==1.11.0+cu113 torchvision==0.12.0+cu113 torchaudio==0.11.0+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html

我就是这样解决了问题。希望大家不再被这个问题折磨。

方法二

手动去pytorch官网去下载上述自己所需的安装包,然后手动进行安装。具体可参考大神的博客

Win10+miniconda+cuda+cudnn+pytorch1.5.1安装记录(踩坑记录)

打算把项目的tensorflow的项目装换成pytorch的,打算在win10电脑上装个环境。

1 安装一个miniconda3,选择miniconda的原因是因为这个方便。安装完成之后,使用命令 

1 conda create -n hh

创建虚拟环境,其中上文的中的 hh 是虚拟环境的名称,自己可以随意,叫goudan都可以,python的版本随意,反正后面都会被覆盖。

2 创建环境完成之后,然后为创建的虚拟环境安装pip 工具 conda install pip -n hh ,之所以为虚拟环境安装pip,是因为使用conda安装pytorch,根本装不上,加上梯子也不行。

我这里是自动给安装上了python3.8

3 安装pytorch,首先进入虚拟环境 conda activate hh ,然后找到pytorch的官网,选择合适的版本,我这里直接给链接了 https://pytorch.org/get-started/locally/ ,我这里使用的是cuda10.2版本的。复制下面的命令 ,然后运行。如果是cpu版本的,CUDA那里直接选择None那一项,安装就好,并且cpu版本的到这里就安装结束,如果只是用来学习,cpu版本的pytorch就够了(顺便说一下,加了梯子下载速度超快)。

技术图片

4 安装cuda,最近从英伟达官网下载的cuda安装包都是40多K的不知道什么东西,然后从别人网盘里面找到了安装包,我也把链接贴到这里,我选择的是10.2版本的,里面有10.1,10.2,11三个版本的

链接:https://pan.baidu.com/s/1yD4lyEPHcbzRA6x8krHRpg
提取码:a81b

下载完成之后,一路next,我装到C盘了,如果C盘空间不够,装到别的盘应该也没有问题。

安装完成之后,在命令行中输入  nvcc -V ,有如下输出 ,就表示没有问题。

技术图片

 

 

 5 安装cudnn 这个包从官网下载就好,下载的版本要和已经安装的cuda的版本对应,我下载的版本是7.6.5 for CUDA 10.2,

技术图片

 

 

 

下载完成之后解压缩,进入解压好的文件,将文件夹里面的文件复制到CUDA相应目录文件夹里面就好。 大功告成

 

以上是关于踩坑系列之pytorch安装之后不能使用cuda的主要内容,如果未能解决你的问题,请参考以下文章

踩坑|CentOS下CUDA的安装

Pytorch安装踩坑

Pytorch框架使用之Pytorch安装(GPU版本)

pytorch学习系列——环境搭建

[踩坑]编译CUDA算子时NVCC报错的解决

Windows11 配置Cuda cuDNN Pytorch环境