Ubuntu配置机器学习折腾笔记

        前言:最近水逆,事事不顺心。最烦的是半年前搞定的Faster RCNN的代码竟然无缘无故就崩了。环境是windows的,anaconda重新安装过,识别的demo还能用,但是python死活编译不过去pycocotools和cython_bbox,在此先给两位哥跪了。

        没办法,只能放弃win环境考虑安装一下ubuntu,反正迟早都要装的。所以这篇就记录一下过程中的各种坑,整合一下方便回顾。

一、安装Ubuntu和CUDA

         我的笔记本是清华同方的X8ti(i7 8750H、16GB RAM、1060ti 6GB), 考虑直接把一根256GB的intel NVME条子划给ubuntu。

1、首先是从网上下载镜像并制作系统盘,我用了一张8GB的kingston,使用Win32DiskImager烧写(这里使用ultraISO或者其他的镜像烧写程序都可以)。

2、然后重启电脑,启动时狂按F12启用u盘启动。指针移动到第二项install ubuntu按e键修改文件, 将---修改为nomodeset。这样做的原因是可以将显卡模式禁用,可以防止笔记本安装或初次启动时崩溃的问题。然后按F10或者ctrl+x进入安装界面。

3、先不要急着联网,连网线的断开网线(因为计时你选择了不下载安装第三方软件,Ubuntu还是会从网络上面下载一些别的更新)。然后一直下一步,直到分磁盘。“不 要 选 择 install ubuntu along with windows”,选择something else。如果你不知道自己提前格式化好的磁盘被分配了怎样的设备号,可以在底下的下拉选框中选择。比如我这个就选择intel nvme 256GB设备,很明显的。然后再选中上面列表的同一项,点击左下角的加号+,选择你要分配给ubuntu系统的空间(以mb计算,如果全部使用就不用动它默认是最大的),然后在下面的下拉选框选择挂载点位根目录“/”。继续下一步,直到安装结束。

4、安装好后会提示重启,点击确定。这时候会出现让你移除安装介质并输入ENTER,照做就行了。

5、重启之后狂按F10,不然会进入windows。在新出现的列表中的第一个按e修改启动文件。同样的在$vt之前加上nomodeset_与$vt相连。按F10进入系统。

到此为止Ubuntu算是安装完成了。

二、安装显卡驱动、CUDA

当安装好系统之后,该更换源的更换源,该下载cuda的下载cuda等各种常规软件。下面重点来讲怎样安装驱动CUDA。

1、当cuda和cudnn安装好以后,进入到目录执行:

sudo bash cudaxxxxxxxxxxx.run

   该确定的确定,该yes的yes。如果你不是多卡,里面有一项默认选no的就不要改回yes,让他默认就好。一般来讲没有什么大毛病的话,驱动和cuda在此时是全部都安装好了的。

2、可关键问题就是,总是会出现毛病。我就遇到了驱动安装不成功,cuda和sample均跳过的情况。原则上驱动最好和cuda一并安装,不然可能会出很多问题。但是我这里要提出的一个解决办法是,在自带的application updater的其它驱动安装里面选择稍低版本的驱动先行安装。不用禁用驱动再次安装cuda,安装的时候同样也要一并安装驱动。

举个例子:我想要安装cuda10,里面自带的是410的驱动。那么我让系统安装390的驱动版本。然后再一并把驱动和cuda都安装了(这时候应该说驱动被更新了)。这时候cuda和驱动的安装就都成功了。

但是又会引发另外一个问题,如果这时候你使用nvidia-smi提示不能和显卡交互,也会有别的潜在的兼容问题。考虑到这里还是需要修复一下这个问题。修复方法很简单,依旧在application updater的其它驱动安装里面安装较新版本的驱动就可以解决了。这时候可能使用nvidia-smi的结果会显示cuda版本跟你安装的不一致,这个在我之后的使用中发现并没有影响。

3、下载cudnn,解压放到该放的位置上面。

sudo cp cuda/include/cudnn.h /usr/local/cuda/include/

sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/

sudo chmod a+r /usr/local/cuda/include/cudnn.h

sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

这时候需要在~/.bashrc的末尾添加三个环境变量。否则就无法使用nvcc编译命令。写好保存后别忘记source ~/.bashrc使之生效。

export CUDA_HOME=/usr/local/cuda-{你的版本不是我的版本}
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

用这条神奇的代码可以检查cudnn有没有安装到位。起不起效另说。

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

4、验证的话可以去sample里面1开头的文件夹有个叫devicequery的程序,到该目录下sudo make编译一下。运行编译出来的程序./devicequery,如果成功的打印出了显卡详细信息以及cuda版本,那么就ok了。如果出现无法找到cuda设备,那可能还是得要查证一下。

三、Anaconda安装

       这里简单提一下anaconda在ubuntu底下的安装可能会遇到的一个问题。

                                     "请不要使用sudo(管理权限)来安装anaconda"

由于ubuntu的权限管理机制,使用管理员安装anaconda之后只能使用管理员权限来使用它。然而官方是不支持sudo conda等使用方法的,这样一来会导致anaconda/bin底下的脚本无法使用,包括conda之类的。这样一来anaconda就废了,需要删除。如果发现anaconda的目录上带有锁的符号,那就说明使用了更高的权限安装了anaconda,用普通用户是无法删除Ananconda的。

解决办法是在控制台使用sudo rm -rf来删除anaconda重新安装。

到此为止,临近期末事情比较多,不仅没有图也没有认真写。权当是自己的记录了,各位老哥查阅的时候还请多多担(莫)待(杠)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值