快递小可 2015-09-26
最近几天一直尝试搭建Theano深度学习开发环境,并安装英伟达CUDA Toolkit。这期间,有想过在Windows上搭建的,但是从网上了解后,发现还是在Linux环境下更加合适。在搭建这个开发环境的过程中,其实入了不少坑,有点曲折。本不打算写搭建过程的,因为网上确实有不少不错的安装步骤,以及官网也有安装教程。But,鉴于被坑了好几天,还是记录一下,长长记性 :)
期间安装Ubuntu 14.04超过4次(原因:有些软件依赖问题无法解决,更换软件源貌似也不可以。不过今天把软件源换成主服务器后,就正常了,但是我的无线网速度比较慢,所以使用主服务器后,下载速度明显要慢了不少。)。
尝试安装Fedora操作系统1次,因为也想过在这个系统上搭建环境的,因为Ubuntu 14.04上面的部分依赖总是搞不定。但是因为网卡驱动的问题,始终无法联网;无法联网,自然就没法安装编译器,没有编译器,没法安装网卡驱动(因为需要编译驱动),最后放弃了这个平台。
尝试安装CentOS操作系统1次,其实根本没有安装成功,原因是我的独立显卡驱动问题,导致安装程序的图形界面上的所有文字都是模糊的,甚至连“退出安装”按钮文字我都识别不出来,最后放弃了。
e
键,进入编辑页面,在倒数第二行中,ro quiet splash
后面添加nomodeset
,这样进入系统后不会因为独显驱动问题而导致黑屏了;/boot/grub/grub.cfg
文件,搜索ro quiet splash
关键词,同样追加nomodeset
,这样不用每次启动系统前重复上述步骤了。这些工具在后面可能会使用到,如编译器等。
sudo apt-get install -y Python-dev python-pip python-nose gcc g++ git gfortran
这些软件包必须在安装Numpy和Scipy之前安装
sudo apt-get install -y libopenblas-dev liblapack-dev libatlas-base-dev
在官方教程中使用了apt-get
方式安装的,但是貌似我确实在安装后没有通过单元测试,有不少错误产生。尤其是后面安装的SciPy更是如此。可能和我之前没有把需要的工具包安装齐全有关系吧。
# 安装NumPy,这个安装过程需要等待会,因为需要编译,所以得花一点时间。 # 实际上后面安装的SciPy和Theano都会花时间编译的,整个安装过程还是要挺久的。 sudo pip install numpy # 进行测试。 python -c 'import numpy; numpy.test()'
必须要保证上面的测试通过,然后再继续下一步,确保每一步都是正确的。没有Errors则通过测试。测试结果如下。
# 安装方法,耐心等待编译吧:) sudo pip install scipy # 进行测试 python -c 'import scipy; scipy.test()'
必须保证scipy
也正常通过测试,这样才可以继续安装下面的Theano。测试结果如下图:
--------------------------------------分割线 --------------------------------------
关于Ubuntu 12.04 下 CUDA5.5 的安装请参看如下链接 Ubuntu 12.04 安装 CUDA-5.5
--------------------------------------分割线 --------------------------------------
# 安装方法,还是要耐心等待编译安装的,感觉比较耗时 sudo pip install Theano # 开始测试 sudo python -c 'import theano; theano.test()'
好吧,我感觉这个步骤中的Theano
测试花了好长时间,所以,还是耐心等待吧。最后结果如下。
在安装这个英伟达CUDA Toolkit时,还是遇到了不少问题。以下记录安装过程,详细的说明文档参见英伟达官方提供的Installation Guide for Linux。需要注意的是,该安装文件已经包含了英伟达较新的显卡驱动,所以不用单独安装独显驱动的。
进入CUDA Toolkit下载页面
选择对应的Ubuntu 14.04操作系统,并且选择下载runfile(1.1G)
文件,同时记录对应的MD5值,用于校验下载文档有没有损坏
下载完成后,最后校验一下下载文件与下载页面提供的文件MD5值是否相同,确保下载到的安装包是完好无损的。