cuda 安装受难记

cuda 安装受难记

  • 2020/11/22 更新了解决下载过慢的问题

如何无痛安装 cuda + Anaconda + pytroch 环境

!! 重要声明,这仅仅只是我的痛苦安装过程的一个踩坑记录,如果可以帮助你无痛安装,那自然是极好的了。

Anaconda

Anaconda 是一个python 的发行版,包括了python 和很多常见的软件库,和一个包管理器 conda

但它巨大,囊括了1000+的 Python 库,如果你不需要,强烈建议你安装 mini 版本

我没有遇到很多的问题,但建议你看这个,我们的重点不在这里:

https://zhuanlan.zhihu.com/p/75717350

cuda

Anaconda 安装完毕后,不要急着安装 pytorch,先去安装 CUDA Toolkit!!!

在这些之前,你需要看看你的 GPU 驱动的版本,查看的方法很简单:

找到你的电脑的 NVIDIA 控制面板,打开,左下角点击系统信息,它看起来就像是这样:

找到系统信息

查看 driver 的版本

然后去官网找到你的 driver 匹配的版本 Release note

找好之后去下载 cuda downloads

然后安装,可以自定义安装,我们只选择 Development,Runtime,Sample,Document 这四个组件即可。可以修改路径,如果不想安在C盘的话就改改。

安装完成后还需要配置系统环境变量,在系统环境变量那里和 PATH 同级的地方添加下面的环境变量:

1
2
3
4
5
6
7
8
CUDA_PATH = D:\NVIDIA GPU Computing Toolkit\CUDA\v10
CUDA_PATH_V10_0 = D:\NVIDIA GPU Computing Toolkit\CUDA\v10

CUDA_SDK_PATH = D:\NVIDIA GPU Computing Toolkit\sample
CUDA_LIB_PATH = %CUDA_PATH%\lib\x64
CUDA_BIN_PATH = %CUDA_PATH%\bin
CUDA_SDK_BIN_PATH = %CUDA_SDK_PATH%\bin\win64
CUDA_SDK_LIB_PATH = %CUDA_SDK_PATH%\common\lib\x64

用户环境变量的 PATH 里添加下面的部分,如果你是文本编辑记得加上分号。

1
2
3
4
%CUDA_LIB_PATH%
%CUDA_BIN_PATH%
%CUDA_SDK_BIN_PATH%
%CUDA_SDK_LIB_PATH%

重启电脑进入你的 cuda 安装路径,\extras\demo_suite 路径,执行 deviceQuery.exe 和 bandwidthTest.exe 程序,会有一堆输出,如果显示了 Result = PASS,证明你安装成功了。这时你的任务管理器会多一栏 GPU。

Nvidia 显示设置不可用

自己平常明明可以正常打开控制面板,但今天我就突然打不开了…,看了看网上说的,大多数是让你更新一下驱动,好吧,那么我们更新一下吧。

右键右下角窗口里面的 NVIDIA 图标,点 NVIDIA GeForce experience,竟然需要登录,好吧,就注册一个账号然后登录…,然后就无法注册。我人傻了,只好去官网上重新下一个 https://www.nvidia.cn/geforce/drivers/ 下载自动更新驱动程序。

之后就正常的安装,然后注册登录,它会自动提示你更新驱动。(我从2017年的驱动更新到了最新的…),还有一个注意的是不知道为啥它死活不能用QQ登录,会卡在认证的页面上。

pytorch

在官网选择你的系统配置:

install

QQ截图20201122101112.png

用下面的命令一下安装好,新建一个 py 文件测试一下

1
2
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
print("Using gpu: %s" % torch.cuda.is_available())

显示 “Using gpu: xxx” 针不戳。

是不是很简单?才怪!

下载速度太慢

如果下载速度太慢,建议添加清华的源

1
2
3
4
5
6
7
8
9
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 --set show_channel_urls yes
# 添加第三方 conda 源
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/pytorch/

这时执行安装就不要再加 -c

conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=10.0

CUDA 版本太低

这里面并没有 CUDA10.0 这个版本,但是我自作聪明的修改 cudatoolkit=10.0 也正常安装了,不错,然后运行一下,提示 CUDA 版本太低…,我严重怀疑是版本不匹配的问题,cuda 是不想再装一遍了,只好重装一个低版本的 pytorch。

学老实点,去早期版本找匹配吧 previous versions

找到一条适合你的版本的命令,比如说我的 conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=10.0 -c pytorch

然后安装就好了,记得先卸掉你装过的 cudatoolkit。打开 Anaconda Prompt,输入 conda uninstall cudatoolkit 即可。

Solving environment: failed with initial frozen solve…

安装了很久还没成功,事情似乎没有那么简单,看了报错,Solving environment: failed with initial frozen solve. Retrying with flexible solve.

具体什么原因我还没搞明白,可能是依赖的问题。遇事不决先升级,不行就重装

1
2
conda update -n base conda
conda update --all

还是不行,只好去百度,试了不少法子,放一个我最终成功解决问题的方法:issue#93676

具体来说就是起一个虚拟环境然后再重新安装,有人说这是 Anaconda3 的一个最新版的问题,我也不懂也别乱说了,就照着别人的方法试就完事了:

1
2
3
conda create -n your_virtual_environment_name(I use the pytorch)
conda activate pytorch
conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=10.0 -c pytorch

具体点来看是用了一个旧一些的版本的 conda 的库(可能),这么说前面更新还是不应该更的了吗…,不过这发生在你装一个老版本的库时,我觉得把cuda更新到最新,装个最新的 pytorch 不香吗

写在后面

每次安环境都是最痛苦的,希望人没事。后续一些问题我会跟进增加内容

Author

Ctwo

Posted on

2020-11-20

Updated on

2020-11-22

Licensed under

Comments