总体安装分为以下三个步骤:
一、安装Anaconda
1.1参考使用anaconda安装pytorch
1.2你可以根据你的操作系统,选择对应的版本到官网下载,如果嫌弃官网下载速度太慢,建议到清华大学镜像站下载。
博主的版本是:Anaconda3-2021.05-Windows-x86_64.exe
下载好后直接双击安装包:
1.3创建虚拟环境
在菜单栏打开Anaconda Prompt
此时base环境(这个环境即是Anaconda安装的Python版本)
接下来用conda命令创建一个名为deep_learn_39的环境
激活刚才创建的环境输入命令:conda activate deep_learn_39(前面的bese变成deep_learn_39表示激活成功)
二、安装Cuda
打开英伟达的控制面板 帮助 - 系统信息 - 组件 - NVCUDA64.DLL 查看你显卡驱动能支持的最高cuda版本
然后去官网找对应版本cuda,博主这里使用以11.1为例,适配大部分同学
本文使用这个URL黏贴到迅雷中下载 https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda_11.1.0_456.43_win10.exe
尽量不修改路径
一路点击同意,然后完成安装
因为是精简安装,会默认安装GeForce Experience,在GeForce Experience中可以更新你的显卡驱动(可以支持版本更高的CUDA)
在系统环境变量的Path项下添加几个路径 打开控制面板,打开系统和安全,打开系统, 相关设置里打开高级系统设置,打开环境变量,在系统变量里面打开path
在path变量下添加以下两条
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\lib\x64
再次打开Anaconda Prompt,输入命令nvcc -V:查看cuda是否配置成功,若显示以下内容则成功
三、安装pytorch
进入pytorch官网
复制对应版本CUDA的安装命令(这里是CUDA 11.1),到将要配置Pytorch的虚拟环境中:
运行时间可能较长(请耐心等待),显示如上图则安装成功
在anaconda prompt的虚拟环境,输入命令python进入python环境,测试是否安装好cuda,输入命令:
import torch
print(torch.cuda.is_available())
若返回True,cuda安装成功
测试是否安装好cuda,输入命令:
from torch.backends import cudnn
print(cudnn.is_available())
若返回True,cudnn安装成功
完成以上步骤,基本要求完成
四、pycharm配置anaconda
pycharm到官网下载PyCharm: the Python IDE for Professional Developers by JetBrains
1、配置anaconda环境变量,在系统环境变量Path添加anacond的安装路径和其子文件夹script和library/bin。我是装在D盘,是"D:\anaconda;D:\anaconda\Scripts;D:\anaconda\Library\bin"。
2、为PyCharm配置anaconda环境。进入PyCharm,依次点击File-> Setting->Project:XXX->Project Interpreter
点击小齿轮,点击Conda Environment,点击Existing environment,选择conda文件
完成后点ok即完成配置
附加测试代码:检测Cuda是否真正加速
import torch
import time
a = torch.randn(400,600,600).to("cuda:0")
b = torch.randn(400,600,600).to("cuda:0")
start_time = time.time()
for i in range(1,1000):
c = a*b
end_time = time.time()
print("CUDA time: ",(end_time-start_time))
a = torch.randn(400,600,600)
b = torch.randn(400,600,600)
start_time = time.time()
for i in range(1,1000):
c = a*b
end_time = time.time()
print("CPU time: ",(end_time-start_time))
代码输出
结果明显加速
参考资料