天天看点

ubuntu安装Theano+cuda

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、输入密码,等一会,好了之后依次输入

    1. sudo apt-get install python-numpy python-scipy python-dev python-pip python-nose g++ libopenblas-dev git
    2. sudo pip install Theano

    等,好了就好了(如果pip install超时,可以换源或者换时间段安装)

4、可以用

    1. NumPy (~30s): python -c "import numpy; numpy.test()"
    2. SciPy (~1m): python -c "import scipy; scipy.test()"
    3. Theano (~30m): python -c "import theano; theano.test()"

     这三个程序测试下能不能跑得动,没error就行。

三、安装cuda

参考这个:http://blog.csdn.net/silangquan/article/details/9473613

这是一个安装驱动的教程,不过吧cuda当作驱动安装我是成功了。

教程做到第九步重启就行。

然后添加环境变量:(用gedit打开 .bashrc)

1

sudo gedit  .bashrc

  

添加下面两行

1 2 3

export PATH=/usr/local/cuda-5.5/bin:$PATH

export LD_LIBRARY_PATH=/usr/local/cuda-5.5/lib64:$LD_LIBRARY_PATH

  

保存,重开机。

然后用: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