写在前面:配置pytorch着实有很多坑,不过最终结果算好的,话不多说,直接上干货。其中想要知道如何解决torch.cuda.is_available()返回false的,直接跳到步骤5pytorch安装。python版本至少是3.6及以上。
安装pytorch需要安装Anaconda、cuda、cuDnn、torch,本次机器配置如下:win10 64位操作系统,GTX3070,其中安装的上述版本如下(时间2023.9.24):
Anaconda3-5.3.1-Windows-x86_64 (去官网下载Download Success | Anaconda)
cuda_11.7.0_516.01_windows.exe(去官网下载即可CUDA Toolkit Archive | NVIDIA Developer 解释下为什么下载11.7,原因是cudcnn官网上只有11.7版本的,但是后续发现不一定要下载11.7版本,可以根据自己显卡来下载)
cudnn-windows-x86_64-8.7.0.84_cuda11-archive(该版本适用于11.XX版本的cuda,下载该版本即可,官网链接:Log in | NVIDIA Developer)
下载链接:Download Success | Anaconda
下载下来是一个Anaconda3-5.3.1-Windows-x86_64.exe
双击Anaconda3-5.3.1-Windows-x86_64.exe,全部直接默认即可。
安装完成后,在系统变量中添加环境变量,如下:
Win+R输入cmd打开命令行 ,输入conda会显示相关命令选项
输入conda -V或者conda --version命令检查下安装配置是否成功
也可以输入conda info显示相关信息:
输入python会发现此时python也是带conda的版本
下载链接:CUDA Toolkit Archive | NVIDIA Developer
本次选择cuda11.7版本进行安装,双击安装包默认即可完成安装。
Win+R输入cmd打开命令行 ,输入 nvcc --version
,可以看到我安装的是11.7
安装cuDNN版本根据cuda进行选择(下载链接cuDNN Archive | NVIDIA Developer),由于本文是cuda11.7,因此选择了cuDNN8.7版本。
下载的cuDNN是一个压缩包,将其解压缩后,得到如下文件:
此时,将bin、include、lib文件复制粘贴到cuda安装目录下,里下图:
Win+R输入cmd打开命令行 ,输入 cd C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\extras\demo_suite (该路径根据自己安装实际路径),进入该路径下,运行bandwidthTest.exe与deviceQuery.exe,如果运行结果result均为pass,则表明安装成功。
这也是本博客与很多博客不同的地方,如果按照很多博客方法从官网下,使用pip或者conda安装torch均错误,在torch.cuda.is_available()返回false,即torch无法调用GPU。
这是由于在国内不好下载GPU-cuda,只有CPU-cuda。下面给出一种切实可行的方案。
去网站https://download.pytorch.org/whl/torch/,进入torch下载对应的带GPU的torch
进到torch,可以看到有各种版本的torch的whl文件,如:torch-1.13.0+cu116-cp37-cp37m-win_amd64.whl,意为torch1.13.0、cuda11.6、python3.7、win 64位系统的版本。
找到你电脑上安装的python、cuda版本,比如我的电脑是python=3.7、cuda=11.7(另外说一下,python的版本是你从cmd控制台上查询的版本,而不是你电脑上安装的版本!!!)所以,最后我选择的版本如下
(PS:在安装python虚拟环境时,python版本最高大于等于3.7,因为在上述网站中没有cp36的版本。)
选好whl文件后,下到本地,然后打开anaconda powershell prompt(anaconda3) (cmd应该也行),切换到自己的虚拟环境下。
如果你没有创建自己的虚拟环境,其创建过程如下,打开anaconda prompt,输入如下命令,其中python版本是你电脑上安装的版本
conda create -n pytorch python=3.7
PS:倘若无法激活自己创建的虚拟环境torch,采用如下命令:
先输入conda info --envs
再输入 activate
最后输入 conda activate pytorch
在创建好的虚拟环境后,再运行命令:
pip cache purge
再运行安装之前下载的whl文件即可,如下:
pip3 install E:\soft\major\Pytorch\torch-1.13.1+cu117-cp37-cp37m-win_amd64.whl
稍等会,就安装好了。
如果重新进入,点击anaconda prompt,输入 conda info --envs
再输入conda activate pytorch
再输入python
再输入 import torch
最后输入 torch.cuda.is_available()
结果返回true,
后面就可以使用cuda干活了