72 赞同
22 评论
129 收藏

最近在做一些深度学习的项目,需要配置gpu环境,这里把遇到的一些坑和解决方法记录下来,供大家借鉴,同时也是以后自己需要的时候可以回头看看。

关于pip安装和conda安装。简单来说pip也只是一个库,相当于一个安装工具。pip安装需要在cmd命令行中进行,方法为pip install +名字。但是利用pip安装网速极慢,是用的国外的channel,大概只有几kb/s,经常容易出现read time out的error。因此强烈建议使用conda install +名字。首先要把channel改为清华的镜像源,这样可以达到几mb/s的速度(之前因为版权问题关掉了一阵了,现在版权谈妥又开放了,这种有时效性的事情,网上就有坑让你删除这个镜像源,但现在不要删)。方法是在anaconda promote中base(root)打开terminal(还没安装anaconda的看下面图2那里先安装),进入命令行,输入以下:

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.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2

如果需要安装最新的torch,再加入这个channel:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch

windows系统最后需要加上这个来生成.condarc的文件:

conda config --set show_channel_urls yes

需要注意的是一定要把Navigator界面中channels的default删掉,如图1。删完记得点update channels!!!

图1 删掉channels中default

安装anaconda的话直接下载安装包就行,如图2。下载地址很多,实在找不到私信我发你。

图2 anaconda安装包

安装完记得添加环境变量,就算安装的时候点了自动添加也再看一下。如果没有,就手动添加:环境变量->系统变量->Path,如图3。具体取决于你安装在哪个盘C,D,E...没框的那几个好像是当时试坑加的。

图3 环境变量

接着创建自己的环境,不要用base(root)这个,比如我创建的py3.7-gpu。创建方法为:打开base(root)的terminal进入命令行,运行conda clean -i清除索引缓存,保证用的是清华镜像站提供的索引。这里备注一下,你在anaconda navigator中看到的packages都是根据你设置的channel提供的,比如说如果没有添加

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch

那么搜索torchvision可能就没有结果,如图4。之前说pip坑也是因为我用pip安装的,pip list和conda list都有,但是anaconda navigator中没有,所以等于零。


图4 搜索torchvision

运行完

conda clean -i

之后再运行

conda create -n py3.7-gpu python=3.7

就行,当然你也可以用3.6的版本如

conda create -n py3.6-gpu python=3.6

-n是name的缩写。我写这篇文章的时候刚出3.8但还是3.7 3.6靠谱一点,版本太新可能没有配套的tensorflow或torch。

如果顺利,就成功创建了一个environment,名字叫py3.7-gpu。创建的过程中可以在命令行看到从哪下载的,如果是正常清华的镜像源几秒钟就创建好了。接下来就是给这个environment装各种package了,方法都是在这个environment的terminal下输入conda install +名字。比如说spyder,tensorflow-gpu等等,因为用了清华镜像源,每次都很快就安装好了。不需要再输入-c +channel了,这也是个坑,统一用清华的就行。另外说一下清华的网站不是用来手动下载package的,我一开始下了很多zip或者whl的包,其实并不需要,只要把网址写到channel里面,用conda install就行。

如果需要安装gpu版的pytorch或tensorflow需要显卡是NVIDIA的,先看下自己显卡支持的cuda版本。方法如图5和图6,打开NVIDIA设置->帮助->系统信息->组件->3D设置。我的是1060的显卡,cuda版本是10.2。

图5 NVIDIA设置
图6 cuda版本

接下来在命令行输入

conda install pytorch torchvision cudatoolkit=10.1

注意命令行一定要是在py3.7-gpu环境下的,如图7。我的显卡是cuda10.2的,因此只要是10.x都行。具体命令可以去pytorch官网看

PyTorch

如图8,注意把最后那个-c pytorch去掉。

图7 命令行前缀
图8 pytorch配置

全都安装好了可以在命令行查看是否成功,方法为:在命令行先输入

python

然后输入

import torch

最后输入

print(torch.cuda.is_available())

返回True就大功告成了。如果装的是tensorflow-gpu,就输入

import tensorflow as tf 

以及

tf.test.gpu_device_name()

返回

/device:GPU:0

就成功了。

最后看一下用cpu和gpu跑程序速度的区别,如图9和图10所示。

图9 CPU的速度
图10 GPU的速度

以后有想到的再补充,侵删~

编辑于 2021-03-01 · 著作权归作者所有