2021-05-12 14:32:11
Ubuntu 14.04安裝Theano詳細教學
2020-06-16 17:27:39
因為最近需要學習深度學習,因此想要設定Theano,來開發深度學習演算法。但是發現Theano安裝總是出現問題。於是在這裡中總結一下。
環境
- 作業系統:Ubuntu14.04
- Python:2.7.6
- 需要聯網
相關庫簡介
- BLAS(Basic Linear Algebra Subprograms)是基礎線性代數子程式庫,裡面擁有大量已經編寫好的關於線性代數運算的程式;
- LAPACK (Linear Algebra PACKage)包含了求解科學與工程計算中最常見的數值線性代數問題,如求解線性方程組、線性最小二乘問題、特徵值問題和奇異值問題等;
- ATLAS是python下的一個線性代數庫,是基於另外兩個線性代數庫BLAS和lapack的;
- NumPy提供了一個在python中做科學計算的基礎庫,它重在數值計算,甚至可以說是用於多維陣列處理的庫;
- SciPy是基於numpy,提供了一個在python中做科學計算的工具集,也就是說它是更上一個層次的庫;
- Theano則是基於NumPy以及SciPy的一個更高階的用於科學計算的庫。
相關庫的關係
- 要安裝Theano,就需要先安裝好numpy和scipy;
- 要安裝numpy和scipy,就需要ATLAS;
- 要安裝ATLAS,就需要安裝BLAS和LAPACK;
相關庫的安裝順序
- 安裝順序:
BLAS → LAPACK → ATLAS → numpy → scipy → Theano
檢查numpy和scipy是否通過測試
- 說明:如果你的numpy和scipy是通過
apt-get
安裝的,那麼它們的單元測試可能會通不過!!!(我在安裝過程中沒有通過測試,scipy出現了Error) - 如果numpy或scipy不能通過測試,就需要解除安裝,然後重新按照本文介紹的順序安裝。
# 檢查numpy是否通過測試
python -c "import numpy;numpy.test()"
-
如果numpy通過測試,會出現如下圖所示的結果。注意最後一行errors=0 failures=0。如果沒有通過測試,需要解除安裝並重新安裝。
-
如果scipy通過測試,會出現如下圖所示的結果。注意最後一行errors=0 failures=0。如果沒有通過測試,需要解除安裝並重新安裝。
-
注意:scipy很可能會出現測試錯誤,比如我安裝過程中出現下圖所示的錯誤。
解除安裝numpy和scipy
# 解除安裝numpy
sudo apt-get remove python-numpy
# 解除安裝scipy
sudo apt-get remove python-scipy
安裝各種包
# 安裝gfortran,後面編譯過程中會用到
sudo apt-get install gfortran
# 安裝blas,Ubuntu下對應的是libopenblas,其它作業系統可能需要安裝其它版本的blas——這是個OS相關的。
sudo apt-get install libopenblas-dev
# 安裝lapack,Ubuntu下對應的是liblapack-dev,和OS相關。
sudo apt-get install liblapack-dev
# 安裝atlas,Ubuntu下對應的是libatlas-base-dev,和OS相關。
sudo apt-get install libatlas-base-dev
安裝numpy和scipy
- 使用pip安裝numpy和scipy
- 安裝pip的命令:
sudo apt-get install python-pip
- 注意:一定要在安裝完lapack/blas之後,再安裝numpy和scipy。否則,會出現錯誤
no lapack/blas resources found
- 安裝numpy和scipy的命令如下所示。
# 安裝numpy
sudo pip install numpy
# 測試numpy
# 測試通過才能進行下一步~~
python -c "import numpy;numpy.test()"
# 安裝scipy
sudo pip install scipy
# 測試scipy
# 測試通過才能進行下一步~~
python -c "import scipy;scipy.test()"
安裝線性計算庫、numPy和sciPy的編譯方法(推薦)
編譯安裝OpenBlas
- 為什麼安裝OpenBLAS?因為OpenBLAS的速度比atlas快。速度對比請參考:《Benchmark OpenBLAS, Intel MKL vs ATLAS》
- 下載OpenBLAS。github下載地址
- 安裝OpenBLAS
tar -zxvf OpenBLAS**.tar.gz
cd OpenBLAS***
make -FC gfortran #需要已經安裝gfortran
make install # 安裝在/opt/OpenBLAS/目錄下
安裝numPy
tar -zxvf numpy***.tar.gz
cd numpy***
cp site.cfg.example site.cfg
vi site.cfg
#將以下4行去掉注釋。【101行--104行】
#[openblas]
#libraries = openblas
#library_dirs = /opt/OpenBLAS/lib
#include_dirs = /opt/OpenBLAS/include
- 安裝numPy。
sudo python setup.py config
sudo python setup.py build
sudo python setup.py install
安裝sciPy
tar -zxvf scipy***.tar.gz
cd scipy***
# 將numPy**中的組態檔複製到此處
cp ../numpy**/site.cfg.example ./site.cfg
- 安裝sciPy。
sudo python setup.py config
sudo python setup.py build
sudo python setup.py install
安裝其它庫
- 為了安裝Theano,最後還需要安裝一些庫,可以參考官方教學
sudo apt-get install python-dev
sudo apt-get install python-pip
sudo apt-get install python-nose
sudo apt-get install g++
sudo apt-get install git
安裝Theano
- 前面的操作如果沒有出現錯誤,就可以開始安裝Theano了。命令如下所示。
# 安裝Theano
sudo pip install Theano
# 測試Theano
python -c "import theano;theano.test()"
參照
- ATLAS + NumPy + SciPy + Theano 的Python科學計算環境搭建
- Compiling numpy with OpenBLAS integration
- 官方安裝教學
- http://stackoverflow.com/questions/7496547/does-python-scipy-need-blas
- http://www.linuxidc.com/Linux/2014-10/107503.htm
- http://www.scipy.org/scipylib/building/linux.html
本文永久更新連結地址:http://www.linuxidc.com/Linux/2016-11/137491.htm
相關文章