ubuntu安装Theano+cuda
时间:2013-12-17 作者: NOBUG 阅读次数:23
内容提示:问题就是:难安装。 为了搞好这个配置,我是前前后后花了3天,重装了3次ubuntu重装了5次驱动才搞定。 故发此贴,给出最简单安装方法(如果我还记得的话)。 因为ubuntu下各种软件依赖关系太多,最好全新ubuntu安装theano和cuda,然后在更新 最好是这么做,再多一...
由于学习需要用到GPU加速机器学习算法,需要安装theano+cuda。
开源库的一大问题就是:难安装。
为了搞好这个配置,我是前前后后花了3天,重装了3次ubuntu重装了5次驱动才搞定。
故发此贴,给出最简单安装方法(如果我还记得的话)。
因为ubuntu下各种软件依赖关系太多,最好全新ubuntu安装theano和cuda,然后在更新
最好是这么做,再多一步都可能搞错………………
一、安装ubuntu
window下安装theano和其他的依赖库相当复杂,甚至需要用到edu的邮箱。
果断抛弃,用ubuntu搭起环境。
1、制作U盘
下好ubuntu(12.04)的iso后,拿出一个4GU盘,插进去格式化。
再下载一个U盘安装器:
打开,一直下一步,选定系统,选定iso文件。(这个用教?)
Create后等一会就好了。
2、腾出空间。
系统需要腾出一定空间安装ubuntu,最好在比较空闲的硬盘中腾出来。
我在F盘腾出了20GB做Ubuntu的系统盘。
方法:
我的电脑-右键-管理-储存-磁盘管理
在空闲的分区上右键-压缩卷-输入腾出来的空间大小(MB)-压缩
3、重启系统
开机进入boot选定从U盘启动(按F2,或者别的,看开机的主板界面),保存退出。
然后安装什么的,看着图形界面来就好了。
ubuntu会自动安装到那个腾出来的分区。
二、安装Theano
1、装好Ubuntu后,先让电脑能上网。
(校园网inode的同学别折腾,系统设置-网络-801.2x认证,设定好用户密码和IP就能上网)
2、能上网之后,打开软件中心,在编辑-软件源,换一个好点的源(163或教育网(如果你是教育网的话))
ctrl+alt+T打开控制端,输入 : sudo apt-get update ,让源能工作。
3、输入密码,等一会,好了之后依次输入
-
- sudo apt-get install python-numpy python-scipy python-dev python-pip python-nose g++ libopenblas-dev git
- sudo pip install Theano
等,好了就好了(如果pip install超时,可以换源或者换时间段安装)
4、可以用
-
- NumPy (~30s): python -c "import numpy; numpy.test()"
- SciPy (~1m): python -c "import scipy; scipy.test()"
- Theano (~30m): python -c "import theano; theano.test()"
这三个程序测试下能不能跑得动,没error就行。
三、安装cuda
参考这个:http://blog.csdn.net/silangquan/article/details/9473613
这是一个安装驱动的教程,不过吧cuda当作驱动安装我是成功了。
教程做到第九步重启就行。
然后添加环境变量:(用gedit打开 .bashrc)
1 | |
添加下面两行
1 2 3 | |
保存,重开机。
然后用:http://docs.nvidia.com/cuda/cuda-getting-started-guide-for-linux/index.html#runfile-installation
下面的方法检验安装。
最后如果有在运行期间遇到下列问题:的时候显示如下信息:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/numpy/__init__.py", line 137, in <module>
import add_newdocs
File "/usr/lib/python2.7/dist-packages/numpy/add_newdocs.py", line 9, in <module>
from numpy.lib import add_newdoc
File "/usr/lib/python2.7/dist-packages/numpy/lib/__init__.py", line 13, in <module>
from polynomial import *
File "/usr/lib/python2.7/dist-packages/numpy/lib/polynomial.py", line 17, in <module>
from numpy.linalg import eigvals, lstsq
File "/usr/lib/python2.7/dist-packages/numpy/linalg/__init__.py", line 48, in <module>
from linalg import *
File "/usr/lib/python2.7/dist-packages/numpy/linalg/linalg.py", line 23, in <module>
from numpy.linalg import lapack_lite
ImportError: /usr/lib/liblapack.so.3gf: undefined symbol: ATL_chemv
我的理解是:问题处在 liblapack.so.3gf 这个库里面了。
然后用一下方法解决
见:http://gfeng.i.sohu.com/blog/view/224817312.htm
liblapack.so.3gf: undefined symbol: ATL_chemv:
解决办法:
sudo apt-get remove libopenblas-base