Linux小白讲述ubuntu18.04 安装cuda和pytorch的注意事项
1. cuda安装
1.1 版本问题
务必要先从pytorch官网看对应的cuda和cudnn的版本,我第一次安装时听别人讲CUDA比较难装,所以就打算先把硬骨头啃了,直接去cuda官网下载了最新的10.2版本,结果在安装pytorch时发现这个包里cuda-toolkit的版本是10.1,查阅了资料说要保持版本一致,故把cuda10.2卸载了打算再安装10.1版本。在重新安装10.1的时候第一个大问题出现了,总是最后会安装到10.2上去,我就自作聪明把有10.2的那个文件夹sudo remove -r xx删掉了,然后再安装就陷入包依赖问题,而依赖的包还是删掉的10.2的那个,用新立得全部删掉cuda的软件包再重新安装。
不过在后面若干填坑查阅资料的过程中,发现pytorch里自带的cuda-toolkit版本是python环境里的版本,只要低于系统cuda-toolkit的版本就可用,但这个论断我没有验证过,如果的确是这样的话,系统里装cuda-toolkit-10.2也是可行的,但为了保险起见,第一次安装cuda的小白鼠建议还是安装与pytorch包里安装的cuda-toolkit一样的版本号。
1.2 无奈的第一次重装系统
我安装过程是参考下面的帖子:安装参考链接
ctrl+alt+F1切换到tty1界面, 运行:
sudo service lightdm stop
若是出现don’t find lightdm之类的error,我们可以先安装lightdm:
sudo apt-get install lightdm
安装之后再关闭服务。
第一次玩Linux不知道tty1是啥啊,按了ctrl+alt+f1也没反应,结果发现终端也可以输入嘛(不知道tty是啥的请自行百度,我现在也不是很清楚),于是就愉快地在终端输入了sudo service lightdm stop,然后开机后就黑屏只有一个小光标闪啊闪,被前面cuda的版本问题已经搞得快崩溃了,这个闪动的小光标成了压死骆驼的最后一根稻草,果断重装了系统,离第一次装linux系统只有6个小时。
1.3 显卡驱动问题
cuda自带的toolkit-10.1里是有nvidia的显卡的,不过我在官网查的我的显卡(GTX1060-6G)对应安装的显卡版本是440,但toolkit里带的是418,下载deb文件用sudo dpkg -i xxx.deb安装后就全部安装了,但安装重启后还是那个粗糙的界面,说明显卡驱动没有安装好,根据我参考链接里的用run文件安装的可以选择是否安装显卡驱动,所以建议在下载toolkit软件包时选择.run文件,这样可以在安装过程选择不安装软件包代的显卡驱动,自己另外从官网下载显卡驱动并安装。
2.cudnn安装
2.1 版本问题
跟cuda一样,pytorch也有对应的cudnn版本要求,但在cudnn官网,你能直接看到的对应cuda10.1的是cudnn v7.6.5,而pytorch里对应的是v7.6.3,所以也要下载对应的版本。
至于cudnn是否也和cuda一样,python环境里的版本只要不高于系统版本就行,我没有看到相关资料,但根据高版本兼容低版本的原则,我感觉应该也是可行的,但小白鼠最好还是安装相同的版本,活着已经不容易了,不要根自己过不去
2.2 软件包问题
下载链接点进去后会发现for ubuntu 18.04有两个deb文件
cuDNN Runtime Library for Ubuntu18.04 (Deb)
cuDNN Developer Library for Ubuntu18.04 (Deb)
建议两个都要下载,dev的应该是有更多扩展包,runtime是基本包(大概是这样的吧,欢迎指正)
3.pytorch安装
3.1 软件源问题
pytorch官网会给你推荐一个安装指令conda install pytorch torchvision cudatoolkit=10.1 -c pytorch,这里的-c是指定从pytorch软件源下载,这个速度真的是感人,我挂了一个晚上第二天早上就报错了,当时我也不知道这个-c原来是指定软件源,还纳闷跟着一起下载的ninja等是从增加的清华源下载的,为啥这俩最大的文件要从pytorch源下载。
所以要将官方代码改一下,conda install pytorch torchvision cudatoolkit=10.1,本来以为不要指定源就可以了,但清华源的下载速度也是龟速,原因不知,想着是否可以先把包给下载下来。
3.2 包的安装
进清华的镜像可以找到pytorch和torchvision,下载速度很快,但下载好后怎么离线安装,查了些资料发现离线安装容易import的时候找不到包,为了避免后面的么蛾子,我想着既然有下载地址了,是否可以用conda从指定地址下载:
conda install --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/linux-64/ pytorch
conda install --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/linux-64/ torchvision
下载速度很好,而且不存在import找不到的问题。
4.总结
对于Linux小白来讲,直接装cuda有点挑战,安装过程切忌不要偷懒,不知道的问题一定要查清楚,尤其是sudo rm的操作要慎重,系统可玩性不错,对于计算机原理的知识还要多掌握一些,中间几次想换回windows大法,希望后面能够越玩越顺吧?