之前搞了一个月左右时间用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 版本 | 编译器 | 构建工具 | 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版本的)
再进入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
总结
希望这次配完环境不会再换版本了,真的痛,希望二周目顺利
感谢你可以看到这里,文中如有不足,尽请见谅!