之前搞了一个月左右时间用WSL2跑模型,后来发现还是不太习惯(其实用不明白),就转成Windows了。这次也是记录一下自己配环境的过程,以免下次还需要

安装Anaconda

下载方式

  • Anaconda官网
  • 清华镜像下载

tip:安装的时候注意尽量不要安装到C盘,选择Install for All Users,其他的一路next就行

之后配置一下环境变量,配置好如图所示,具体细节可以参考这篇博客

验证是否成功

配置好在cmd中输入下列代码验证是否安装成功

conda -V

添加镜像源

添加清华的镜像源,在Anaconda Prompt中输入下列代码

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/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 --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/free/conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/main/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/fastai/

然后检查是否添加成功

conda config --show channels

安装英伟达的驱动

去英伟达官网下载自己对应的显卡驱动即可,安装完成如图所示(应该中间需要注册一个NVDIA账号)

安装CUDA与cuDNN

在此之前需要确定一下自己需要装什么版本的Pytorch和Tenserflow,这个版本是必须匹配的(之前装CUDA装的太新了导致环境就是出问题,非常麻烦,活生生治好了我的低血压)所以推荐CUDA版本不要太新的,因为之后可能就是调包

查看能装CUDA版本上限

cmd中输入

nvidia-smi

说明我的CUDA版本不能超过12.2

确定要安装的版本

Tenserflow与CUDA的对应关系,参考数据来自**Tenserflow官网**

版本Python 版本编译器构建工具cuDNNCUDA
tensorflow_gpu-2.6.03.6-3.9MSVC 2019Bazel 3.7.28.111.2
tensorflow_gpu-2.5.03.6-3.9MSVC 2019Bazel 3.7.28.111.2
tensorflow_gpu-2.4.03.6-3.8MSVC 2019Bazel 3.1.08.011.0
tensorflow_gpu-2.3.03.5-3.8MSVC 2019Bazel 3.1.07.610.1
tensorflow_gpu-2.2.03.5-3.8MSVC 2019Bazel 2.0.07.610.1
tensorflow_gpu-2.1.03.5-3.7MSVC 2019Bazel 0.27.1-0.29.17.610.1
tensorflow_gpu-2.0.03.5-3.7MSVC 2017Bazel 0.26.17.410
tensorflow_gpu-1.15.03.5-3.7MSVC 2017Bazel 0.26.17.410
tensorflow_gpu-1.14.03.5-3.7MSVC 2017Bazel 0.24.1-0.25.27.410
tensorflow_gpu-1.13.03.5-3.7MSVC 2015 update 3Bazel 0.19.0-0.21.07.410
tensorflow_gpu-1.12.03.5-3.6MSVC 2015 update 3Bazel 0.15.07.29.0
tensorflow_gpu-1.11.03.5-3.6MSVC 2015 update 3Bazel 0.15.079
tensorflow_gpu-1.10.03.5-3.6MSVC 2015 update 3Cmake v3.6.379
tensorflow_gpu-1.9.03.5-3.6MSVC 2015 update 3Cmake v3.6.379
tensorflow_gpu-1.8.03.5-3.6MSVC 2015 update 3Cmake v3.6.379
tensorflow_gpu-1.7.03.5-3.6MSVC 2015 update 3Cmake v3.6.379
tensorflow_gpu-1.6.03.5-3.6MSVC 2015 update 3Cmake v3.6.379
tensorflow_gpu-1.5.03.5-3.6MSVC 2015 update 3Cmake v3.6.379
tensorflow_gpu-1.4.03.5-3.6MSVC 2015 update 3Cmake v3.6.368
tensorflow_gpu-1.3.03.5-3.6MSVC 2015 update 3Cmake v3.6.368
tensorflow_gpu-1.2.03.5-3.6MSVC 2015 update 3Cmake v3.6.35.18
tensorflow_gpu-1.1.03.5MSVC 2015 update 3Cmake v3.6.35.18
tensorflow_gpu-1.0.03.5MSVC 2015 update 3Cmake v3.6.35.18

Pytorch与cuda的关系可以参考如下表格,具体细节可以参考这篇博客,这里搬运了一部分

cudaCUDAToolkitpytorch
11.311.31.10.1、1.10.0、1.9.1、1.9.0、1.8.1
11.111.11.10.0、1.9.1、1.9.0、1.8.1、1.8.0
11.011.01.7.1、1.7.0
10.210.21.10.1、1.10.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
10.110.11.7.1、1.7.0、1.6.0、1.5.1、1.5.0、1.4.0
10.010.01.2.0、1.1.0、1.0.1、1.0.0
9.29.21.7.1、1.7.0、1.6.0、1.5.1、1.5.0、1.4.0、1.2.0
9.09.01.1.0、1.0.1、1.0.0
8.08.01.0.0

综上,我选择了如下配置

  • CUDA : 11.0
  • CUDAToolkit : 8.0.2
  • tensorflow : 2.4.0
  • pytorch : 1.7.0

下载

接下来就是安装了,首先进入CUDA官网,选择自己要下载的版本,点进去后选择如下(如果是较新的CUDA版本可以按需选择Win11版本的)

再进入cuDNN官网,选择自己对应的版本(这里可能需要注册一个账号),点进入后同样选择如下

下载后会有两个文件

安装

首先安装第一个文件,刚开始弹出的路径不用管直接OK即可,后面会自动删除的,之后选择精简即可,然后一路next

然后解压第二个文件压缩包,得到如下文件

bin,include文件夹中的文件,分别下列地址对应的文件夹下(以我的地址为例),遇到提示,为全部选择覆盖和替换。

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0

需要注意的是,lib文件夹里的所有文件,需要复制到

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\lib\x64

这块的具体细节可以参考一下这篇博客

配置环境变量

进入环境变量设置在系统变量中加入以下几个环境,一定要按照自己的路径!!!

CUDA_PATH:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0CUDA_PATH_V11_3:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0CUDA_BIN_PATH:%CUDA_PATH%\binCUDA_LIB_PATH:%CUDA_PATH%\lib\x64CUDA_SDK_PATH:C:\ProgramData\NVIDIA Corporation\CUDA Samples\v11.0CUDA_SDK_BIN_PATH:%CUDA_SDK_PATH%\bin\win64CUDA_SDK_LIB_PATH:%CUDA_SDK_PATH%\common\lib\x64

配置好如下:

C:\Program Files\NVIDIA Corporation\Nsight Compute 2020.1.0\C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\binC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\libnvvpC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\lib\x64C:\ProgramData\NVIDIA Corporation\CUDA Samples\v11.0\bin\win64C:\ProgramData\NVIDIA Corporation\CUDA Samples\v11.0\common\lib\x64C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISRC:\Program Files (x86)\NVIDIA Corporation\PhysX\CommonC:\Program Files\NVIDIA Corporation\Nsight Compute 2020.1.0

配置好如下:

验证是否成功

之后重启电脑,输入以下代码

nvcc -V

安装Pytorch

Pytorch版本最好也不要安装很细新的,新的版本要求会变多,Run一下别人的代码经常会发现一片红通通的报错

新建Pytorch环境

首先用管理员的权限打开Anaconda Prompt,新建一个环境,这里采用的是Python3.8版本

conda create -n Pytorch python=3.8

激活环境

conda activate Pytorch

下载Pytorch

首先进入Pytorch官网,找到适合自己的版本进行下载,我选择的如下

将这个代码复制到Anaconda Prompt中即可安装(紧接着上述代码,确保自己在刚刚新建的环境中运行)

主要这里一定要去掉代码中的**-c pytorch**,安装的时候才会默认从镜像源下载相应的包。处理完我要运行的代码如下

conda install pytorch==1.7.0 torchvision==0.8.0 torchaudio==0.7.0 cudatoolkit=11.0

如果下载过慢或者下载不了,可以找到如下文件。(用户是你自己的用户名)

C:\Users\用户\.condarc

用编辑器打开,把最后一行defaults注销了

看到done即表示安装成功

验证是否成功

Anaconda Prompt输入

pythonimport torchtorch.cuda.is_available()torch.cuda.get_device_name(0)

若输出为True并显示显卡名称,则代表安装成功。

安装Tenserflow

Tenserflow是我报错最多的库,版本不合适真的很头疼。所以建议也不要装很新的。

创建Tenserflow环境

这里我依旧采用的3.8版本

conda create -n Tenserflow python=3.8

激活环境

conda activate Tenserflow

下载Tenserflow

版本是上文定下的,这次直接采用pip安装了,

pip install tensorflow-gpu==2.4.0

验证是否成功

pythonimport tensorflow as tftf.config.list_physical_devices('GPU')

找到显卡即表示成功,说明可以调用GPU

总结

希望这次配完环境不会再换版本了,真的痛,希望二周目顺利

感谢你可以看到这里,文中如有不足,尽请见谅!