天天看點

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