PyTorch-GPU环境配置
记录一下我配置PyTorch-GPU的过程。因为我之前换过一次电脑,导致我这里还要再重新配置一下PyTorch。然而我之前配置的时候又没有做好记录,这次配置又要百度各种教程。😂吸取之前的教训,我现在要记录下我自己的配置过程,省的之后再安装还要百度了23333333
创建conda虚拟环境
我通过如下命令创建了虚拟环境:
1  | conda create -n pygpu pip python=3.7  | 
在这里我发现老是无法创建成功,我感觉可能是源的原因。于是我参考 conda源配置 这篇博客,使用如下命令配置中科大源,解决了问题。
1  | conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/  | 
配置CUDA环境
因为我这台电脑之前已经安装过CUDA了,这次就只检查一下是否配置成功了。而关于如何安装CUDA,可以参考 Win10系统安装CUDA10.0和cuDNN 这篇博客。
命令行测试
打开cmd命令行窗口,通过如下命令检查cuda是否安装:
通过如下命令检查cuda是否安装:
1  | nvcc -V  | 
输出了
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Fri_Feb__8_19:08:26_Pacific_Standard_Time_2019
Cuda compilation tools, release 10.1, V10.1.105
这表明我已经安装好了cuda10.1的版本。
编译测试文件
打开C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.1路径下的Samples_vs2017.sln
在“解决方案资源管理器”中找到1_Utilities,右键点击“生成”

这时VS2017在编译过程中产生“找不到Windows SDK版本”的错误:

解决方法:在解决方案中右键选择“重定解决方案目标”


点击确定即可通过编译。
验证deviceQuery.exe和bandwidthTest.exe
cmd窗口进入如下路径
1  | cd C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.1\bin\win64\Release  | 
分别输入deviceQuery,bandwidthTest并运行,Result = PASS则说明通过,反之,Result = Fail
则需要重新安装。
配置CUDA环境变量
- 确认系统环境变量中:CUDA_PATH和CUDA_PATH_V10.0已经存在
 - 添加:
 
1  | CUDA_SDK_PATH = C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.1  | 
在cmd窗口查看环境变量配置情况,输入
set cuda,输出如下:
安装cuDNN
打开 cuDNN网页
注意在下载之前需要完成开发者注册(就是注册一个账号)
选择与CUDA匹配的cuDNN版本进行下载


下载之后是个压缩包文件,解压缩:

将CUDA\bin、CUDA\include、CUDA\lib中的内容拷贝到相应的C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1文件路径下即可。
这里我参照 Win10系统安装CUDA10.0和cuDNN 这篇博客中加入了系统环境变量如下:

安装pytorch
在 Pytorch官网 中找到安装的命令。

我这里是直接使用pip安装的。
使用如下命令
1  | pip install torch===1.4.0 torchvision===0.5.0 -f https://download.pytorch.org/whl/torch_stable.html  | 
验证是否安装成功
为了确保PyTorch安装成功,我们需要运行简单的样例代码测试,例如打印出随机生成的张量矩阵,以及gpu是否可以使用。
首先在命令行输入python,进入python的解释器,输入以下语句
1  | import torch  | 
输出如下:
tensor([[0.9943, 0.2830, 0.5508],
 [0.0765, 0.6474, 0.0059],
 [0.7241, 0.1868, 0.5398],
 [0.3217, 0.4664, 0.4242],
 [0.3351, 0.2482, 0.7371]])
说明PyTorch安装成功。
接下来再输入
1  | torch.cuda.is_available()  | 
输出为True即证明支持GPU了。





