ubuntu系统安装(双显卡)加cuda、anaconda、cudnn、theano、keras

xiaoxiao2021-02-28  8

        之前参照网上的各种教程已经按照配置好一切,并且已经可以运行程序了,结果重启了一次系统之后ubuntu就gg了,再也无法重启,所以这次准备记录下所有的配置过程,防止再次gg时茫然失措。

        第一步插入u盘启动盘,使用的系统为ubuntu16.02,结果发现出现gfxboot.c32:not a COM32R image问题,按照网上的教程http://www.itkeyword.com/doc/8330732357660512953/gfxboot-c32-not-a-com32r-image,按下tab键后出现live live-install check memtest hd mainmenu help,再输入live后卡住,毫无反应,第一次尝试失败。

      怀疑磁盘有坏道现象,进入安装好的win7系统,参考https://jingyan.baidu.com/article/ca41422fff77021eae99ed86.html 这篇文章中的方式使用管理员权限打开命令提示符(很久没用win7了,十分不熟悉),发现无法使用chkdsk命令检查和修复磁盘。出现windows无法恢复主文件表,chkdsk被中止的提示。然后狠心格式化了硬盘,再次扫描,显示没有问题。然后重新安装遇到同样问题,推测是启动盘有问题,准备重新制作。然而还是一样,无论什么help之类的命令都没有办法成功安装。

     后来学长帮忙做了个ubuntu17的盘,瞬间安装成功,可能还是本身的iso有问题。

     输入sudo apt-get install gnome-terminal,然后右键可以出现终端。

     先安装anaconda,从官网下载了2.7的linux版本,然后bash Anaconda2-5.0.1-Linux-x86_64.sh即可,完成后显示Thank you for installing Anaconda2! 输入命令source ~/.bashrc让.bashrc中添加的路径生效。

     现在可以安装theano了,首先添加清华源来提高下载速度,即在命令行输入conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/,之后在输入conda config --set show_channel-urls yes,完成后输入gedit ~/.condarc查看是否如下图所示,如果一样则配置完成:

  但是下载时仍然出现了错误:an http error occurred when trying to retrieve this URL,百度后参考了http://lqkweb.com/blog.php?id=1,删除了-defaults就立马下载好了theano.在命令行输入python,然后import theano,没有出现任何问题,证明已经成功下载安装了theano.

关于cuda部分的安装都参考文章http://ju.outofmemory.cn/entry/328609,顺利的安装完毕。注意此文中cuda的环境变量应该为cuda-9.0而不是cuda.

ubuntu17的gedit不能使用,可以安装一个kate用作文本编辑器。

  配置theano的gpu模式,即sudo kate ~/.theanorc文件,编辑其内容如下:

[global]

device=gpu

floatX=float32

[nvcc]

flags=-D_FORCE_INLINES

[cuda]

root=/usr/local/cuda-9.0

然后保存即可。打开一个终端,输入python,然后import theano,结果发现CUDA is installed, but device gpu is not available (error: cuda unavailable),百度后发现时gcc的版本过高导致nvcc无法编译,参照文章https://www.zhihu.com/question/43711830/answer/99277321修改后(注意ubuntu17的gcc等为6而不是5,可用命令gcc -v查看)。再次打开python,import theano,发现又出现了exception:The nvidia driver version installed with this OS does not good results for reduction.Installing the nvidia driver availabel on the same download page as the cuda package will fix the problem:http://developer.nvidia.com/cuda-downloads

查看了我之前参考安装cuda的教程,我发现他的驱动是384.69,于是从官网下载了384.69.run,然后使用命令sudo apt-get autoremove --purge nvidia-384卸载了旧驱动,使用命令lsmod | grep nouveau查看是否有自带的开源驱动nouveau,发现没有任何输出,则nouveau已被屏蔽。然后sudo ./NVIDIA.run -no-opengl-files,提示未关闭图形界面无法安装,于是sudo service lightdm stop关闭图形界面,然后ctrl+alt+f1进入命令行,同样的方法安装,一切成功后却发现无法回到图形界面,再次重启之后发现原有的nouveau

没有被禁,于是又输入sudo kate /etc/modprobe.d/blacklist.conf,在文末添加两行内容:

blacklist nouveau

options nouveau modeset=0

保存后在命令行输入sudo update-initramfs -u,然后重启,之后输入nvidia-smi,发现驱动已装好,为384.69。打开终端,输入python,import 

theano,发现又出现新的error:nvcc compiler not found on $PATH.Check your nvcc installation and try again.

注意!以上所有的步骤均失败了!

原因是ubuntu的内核是4.10,而4.10的内核只有nvidia的384系列驱动支持,所以无法安装其他驱动,而theano的gpu加速只认367之类的nvidia

驱动。所以我下载了去年11月份左右的ubuntu14(内核为3.13),然后安装此系统,但是进入系统会黑屏,解决办法如下:

在开机时按住shift不放,知道出现grub画面,按e进入编辑页面,在''quite splash''后面加上nomodeset(对应nvidia显卡),F10开机即可。进入

系统后打开终端输入sudo gedit /etc/default/grub,将GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"修改为:GRUB_CMDLINE_LINUX_DEFAULT

="quiet splash nomodeset",保存文件,在终端输入sudo update-grub,重启即可解决此问题。

然后按照博客http://blog.csdn.net/l297969586/article/details/53320706内容操作,但是需要注意的是,在安装cuda8之前先安装nvidia显卡驱动367,

然后安装cuda8时安装显卡选n,即可完成cuda8和nvidia显卡驱动367的安装。

下载theano时又遇到错误Missing write permissions in:/home/cyb/anaconda2,解决办法是为anaconda2目录的权限给当前用户,使用命令:sudo 

chown -R system_username /location_of_files_or_folders

然后conda install theano,之后import theano时又遇到错误error:unable to get the number of gpus available:CUDA driver 

version is insufficient for CUDA runtime version,初步判断又是驱动和cuda8不匹配,于是又再次卸载驱动367,使用命令sudo

/usr/bin/nvidia-uninstall,然后卸载cuda8,使用命令sudo /usr/local/cuda-8.0/bin/uninstall_cuda-8.0.pl,最后再次重装cuda8,安装驱动的时候选yes,

终于成功的使用了theano的gpu模式(虽然没有cudnn的加速,现在完全不想再要了,怕又出bug)!

转载请注明原文地址: https://www.6miu.com/read-1900144.html

最新回复(0)