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

安装Anaconda

下载方式

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

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

屏幕截图 2023-06-06 111214

验证是否成功

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

conda -V

屏幕截图 2023-06-06 112143

添加镜像源

添加清华的镜像源,在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

屏幕截图 2023-06-06 134123

安装英伟达的驱动

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

屏幕截图 2023-06-06 112250

安装CUDA与cuDNN

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

查看能装CUDA版本上限

cmd中输入

nvidia-smi

屏幕截图 2023-06-06 125555

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

确定要安装的版本

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

版本 Python 版本 编译器 构建工具 cuDNN CUDA
tensorflow_gpu-2.6.0 3.6-3.9 MSVC 2019 Bazel 3.7.2 8.1 11.2
tensorflow_gpu-2.5.0 3.6-3.9 MSVC 2019 Bazel 3.7.2 8.1 11.2
tensorflow_gpu-2.4.0 3.6-3.8 MSVC 2019 Bazel 3.1.0 8.0 11.0
tensorflow_gpu-2.3.0 3.5-3.8 MSVC 2019 Bazel 3.1.0 7.6 10.1
tensorflow_gpu-2.2.0 3.5-3.8 MSVC 2019 Bazel 2.0.0 7.6 10.1
tensorflow_gpu-2.1.0 3.5-3.7 MSVC 2019 Bazel 0.27.1-0.29.1 7.6 10.1
tensorflow_gpu-2.0.0 3.5-3.7 MSVC 2017 Bazel 0.26.1 7.4 10
tensorflow_gpu-1.15.0 3.5-3.7 MSVC 2017 Bazel 0.26.1 7.4 10
tensorflow_gpu-1.14.0 3.5-3.7 MSVC 2017 Bazel 0.24.1-0.25.2 7.4 10
tensorflow_gpu-1.13.0 3.5-3.7 MSVC 2015 update 3 Bazel 0.19.0-0.21.0 7.4 10
tensorflow_gpu-1.12.0 3.5-3.6 MSVC 2015 update 3 Bazel 0.15.0 7.2 9.0
tensorflow_gpu-1.11.0 3.5-3.6 MSVC 2015 update 3 Bazel 0.15.0 7 9
tensorflow_gpu-1.10.0 3.5-3.6 MSVC 2015 update 3 Cmake v3.6.3 7 9
tensorflow_gpu-1.9.0 3.5-3.6 MSVC 2015 update 3 Cmake v3.6.3 7 9
tensorflow_gpu-1.8.0 3.5-3.6 MSVC 2015 update 3 Cmake v3.6.3 7 9
tensorflow_gpu-1.7.0 3.5-3.6 MSVC 2015 update 3 Cmake v3.6.3 7 9
tensorflow_gpu-1.6.0 3.5-3.6 MSVC 2015 update 3 Cmake v3.6.3 7 9
tensorflow_gpu-1.5.0 3.5-3.6 MSVC 2015 update 3 Cmake v3.6.3 7 9
tensorflow_gpu-1.4.0 3.5-3.6 MSVC 2015 update 3 Cmake v3.6.3 6 8
tensorflow_gpu-1.3.0 3.5-3.6 MSVC 2015 update 3 Cmake v3.6.3 6 8
tensorflow_gpu-1.2.0 3.5-3.6 MSVC 2015 update 3 Cmake v3.6.3 5.1 8
tensorflow_gpu-1.1.0 3.5 MSVC 2015 update 3 Cmake v3.6.3 5.1 8
tensorflow_gpu-1.0.0 3.5 MSVC 2015 update 3 Cmake v3.6.3 5.1 8

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

cuda CUDAToolkit pytorch
11.3 11.3 1.10.1、1.10.0、1.9.1、1.9.0、1.8.1
11.1 11.1 1.10.0、1.9.1、1.9.0、1.8.1、1.8.0
11.0 11.0 1.7.1、1.7.0
10.2 10.2 1.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.1 10.1 1.7.1、1.7.0、1.6.0、1.5.1、1.5.0、1.4.0
10.0 10.0 1.2.0、1.1.0、1.0.1、1.0.0
9.2 9.2 1.7.1、1.7.0、1.6.0、1.5.1、1.5.0、1.4.0、1.2.0
9.0 9.0 1.1.0、1.0.1、1.0.0
8.0 8.0 1.0.0

综上,我选择了如下配置

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

下载

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

屏幕截图 2023-06-06 115917

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

屏幕截图 2023-06-06 120224

下载后会有两个文件

屏幕截图 2023-06-06 120538

安装

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

屏幕截图 2023-06-06 101612

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

屏幕截图 2023-06-06 120844

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

屏幕截图 2023-06-06 121442

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

配置环境变量

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

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

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

CUDA_BIN_PATH:%CUDA_PATH%\bin

CUDA_LIB_PATH:%CUDA_PATH%\lib\x64

CUDA_SDK_PATH:C:\ProgramData\NVIDIA Corporation\CUDA Samples\v11.0

CUDA_SDK_BIN_PATH:%CUDA_SDK_PATH%\bin\win64

CUDA_SDK_LIB_PATH:%CUDA_SDK_PATH%\common\lib\x64

配置好如下:

屏幕截图 2023-06-06 124409
在系统变量的Path中加入如下环境

C:\Program Files\NVIDIA Corporation\Nsight Compute 2020.1.0\

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

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

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

C:\ProgramData\NVIDIA Corporation\CUDA Samples\v11.0\bin\win64

C:\ProgramData\NVIDIA Corporation\CUDA Samples\v11.0\common\lib\x64

C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR

C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common

C:\Program Files\NVIDIA Corporation\Nsight Compute 2020.1.0

配置好如下:

屏幕截图 2023-06-06 124642

验证是否成功

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

nvcc -V

屏幕截图 2023-06-06 124922

安装Pytorch

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

新建Pytorch环境

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

conda create -n Pytorch python=3.8

激活环境

conda activate Pytorch

下载Pytorch

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

image-20230722100054418

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

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

conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=11.0

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

C:\Users\用户\.condarc

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

屏幕截图 2023-06-06 133714

看到done即表示安装成功

屏幕截图 2023-06-06 134320

验证是否成功

Anaconda Prompt输入

python
import torch
torch.cuda.is_available()
torch.cuda.get_device_name(0)

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

屏幕截图 2023-06-06 150654

安装Tenserflow

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

创建Tenserflow环境

这里我依旧采用的3.8版本

conda create -n Tenserflow python=3.8

激活环境

conda activate Tenserflow

下载Tenserflow

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

pip install tensorflow-gpu==2.4.0

验证是否成功

python
import tensorflow as tf
tf.config.list_physical_devices('GPU')

屏幕截图 2023-06-06 153241

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

总结

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

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