Desktop Ubuntu 14.04LTS/16.04科學計算環境配置

Desktop Ubuntu 14.04LTS/16.04科學計算環境配置

計算機硬件配置

cpupython

i5 6代mysql

內存容量linux

8G ios

gpu c++

GTX960 git

顯存容量github

2G(建議顯存在4G以上,不然一些稍具規模的神經網絡沒法訓練,會提示顯存容量不足)
sql

 

配置順序

安裝包shell

重要依賴數據庫

安裝ubuntu            14.04

 

安裝顯卡驅動         nvidia-367

 

安裝cuda tool kit        8.0

 

安裝cuDNN             v5

安裝版本取決於cuda toolkit版本

*安裝基本工具包

右鍵終端

git

 

*Python工具

pip                 1.5.4

ipython                 1.2.1

ipython-notebook

*安裝python基本科學計算包

python-numpy             1.11.1

python-scipy             0.18.1

python-matplotlib         1.3.1

python-pandas            0.13.1

python-sympy             0.7.4.1

python-nose            1.3.1

 

安裝Qt4(c++) 和 PyQt4

 

安裝wxWidgets(c++) 2.8 和 wxPython

 

安裝wine

 

安裝程序開發環境

codeblocks            16.04

sublime

pycharm

matlab

source insight 

 

wxWidgets

 

 

 

wine 

安裝

cmake                3.2.2

cmake-qt-gui         

 

 

Qt 

安裝boost            1.54.0

 

*安裝BLAS

 

安裝opencv            3.1.0

cmake >= 3.2.2     (3.2.2)

Qt                 (選裝)

CUDA            (選裝)

Matlab            (選裝)

安裝PyCUDA            v5

gcc > 4.3            (4.8.2)

Boost C++ libraries    (1.54.0)

numpy            (1.8.2) 

安裝theano             0.8.0

*Requirements************************

Python 2 >= 2.6 or Python 3 >= 3.3    (python2.7)

g++ >= 4.2            (4.8.2)

NumPy >= 1.7.1            (1.11.1)

SciPy >= 0.11            (0.18.1)

A BLAS            (可選) (openblas 0.2.8)

*Optional*****************************

nose >= 1.3.0              (1.3.1)

nose-parameterized >= 0.5.0    

Sphinx >= 0.5.1

pygments

Git

graphiz

either pydot-ng or pydot            

NVIDIA CUDA drivers and SDK-v4         (PyCUDA v5)

libgpuarray 

安裝lasagne             0.2.dev1

Theano==0.8.0            (0.8.0)

Python >=2.7 or >=3.4        (python2.7)

numpy >= 1.6.2            (1.11.1)

scipy >= 0.11             (0.18.1)

BLAS            (可選) (openblas 0.2.8)

pip

C compiler 

安裝caffe            1.0.0-rc3

*Requirments**********************

CUDA >=6

BLAS (ATLAS, MKL, or OpenBLAS)

Boost >= 1.55

protobuf, glog, gflags, hdf5

*Optional**************************

OpenCV >= 2.4 including 3.0

IO libraries: lmdb, leveldb (note: leveldb requires snappy)

cuDNN for GPU acceleration (>=v4)

安裝TensorFlow        0.12.1

numpy    1.11.1

CUDA     8.0

cuDNN     v5.1 

 

安裝步驟:

  1. 安裝ubuntu14.04

使用ultraiso工具製做u盤啓動,安裝Ubuntu14.04LTS。120G固態硬盤分區方案

50G 

/swap 

8G(與內存大小相同)

/home 

62G 

 

手動添加源

##Mirrors.shlug.org更新服務器(電信服務器,Ubuntu China Official Mirror, maintained by Shanghai Linux User Group):

deb http://cn.archive.ubuntu.com/ubuntu hardy main restricted universe multiverse

deb http://cn.archive.ubuntu.com/ubuntu hardy-security main restricted universe multiverse

deb http://cn.archive.ubuntu.com/ubuntu hardy-updates main restricted universe multiverse

deb http://cn.archive.ubuntu.com/ubuntu hardy-backports main restricted universe multiverse

deb http://cn.archive.ubuntu.com/ubuntu hardy-proposed main restricted universe multiverse

deb-src http://cn.archive.ubuntu.com/ubuntu hardy main restricted universe multiverse

deb-src http://cn.archive.ubuntu.com/ubuntu hardy-security main restricted universe multiverse

deb-src http://cn.archive.ubuntu.com/ubuntu hardy-updates main restricted universe multiverse

deb-src http://cn.archive.ubuntu.com/ubuntu hardy-backports main restricted universe multiverse

deb-src http://cn.archive.ubuntu.com/ubuntu hardy-proposed main restricted universe multiverse

 

##成都市電子科技大學更新服務器(校園網)

deb http://ubuntu.uestc.edu.cn/ubuntu/ hardy main multiverse restricted universe

deb http://ubuntu.uestc.edu.cn/ubuntu/ hardy-backports main multiverse restricted universe

deb http://ubuntu.uestc.edu.cn/ubuntu/ hardy-proposed main multiverse restricted universe

deb http://ubuntu.uestc.edu.cn/ubuntu/ hardy-security main multiverse restricted universe

deb http://ubuntu.uestc.edu.cn/ubuntu/ hardy-updates main multiverse restricted universe

deb-src http://ubuntu.uestc.edu.cn/ubuntu/ hardy main multiverse restricted universe

deb-src http://ubuntu.uestc.edu.cn/ubuntu/ hardy-backports main multiverse restricted universe

deb-src http://ubuntu.uestc.edu.cn/ubuntu/ hardy-proposed main multiverse restricted universe

deb-src http://ubuntu.uestc.edu.cn/ubuntu/ hardy-security main multiverse restricted universe

deb-src http://ubuntu.uestc.edu.cn/ubuntu/ hardy-updates main multiverse restricted universe

 

##上海市上海交通大學更新服務器(校園網)

deb http://ftp.sjtu.edu.cn/ubuntu/ hardy main multiverse restricted universe

deb http://ftp.sjtu.edu.cn/ubuntu/ hardy-backports main multiverse restricted universe

deb http://ftp.sjtu.edu.cn/ubuntu/ hardy-proposed main multiverse restricted universe

deb http://ftp.sjtu.edu.cn/ubuntu/ hardy-security main multiverse restricted universe

deb http://ftp.sjtu.edu.cn/ubuntu/ hardy-updates main multiverse restricted universe

deb-src http://ftp.sjtu.edu.cn/ubuntu/ hardy main multiverse restricted universe

deb-src http://ftp.sjtu.edu.cn/ubuntu/ hardy-backports main multiverse restricted universe

deb-src http://ftp.sjtu.edu.cn/ubuntu/ hardy-proposed main multiverse restricted universe

deb-src http://ftp.sjtu.edu.cn/ubuntu/ hardy-security main multiverse restricted universe

deb-src http://ftp.sjtu.edu.cn/ubuntu/ hardy-updates main multiverse restricted universe

 

## 官方源

deb http://archive.ubuntu.com/ubuntu/ hardy main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu/ hardy-security main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu/ hardy-updates main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu/ hardy-proposed main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu/ hardy-backports main restricted universe multiverse

deb-src http://archive.ubuntu.com/ubuntu/ hardy main restricted universe multiverse

deb-src http://archive.ubuntu.com/ubuntu/ hardy-security main restricted universe multiverse

deb-src http://archive.ubuntu.com/ubuntu/ hardy-updates main restricted universe multiverse

deb-src http://archive.ubuntu.com/ubuntu/ hardy-proposed main restricted universe multiverse

deb-src http://archive.ubuntu.com/ubuntu/ hardy-backports main restricted universe multiverse 

 

  1. 安裝顯卡驅動nvidia-367

Ubuntu14.04默認使用Nouveau顯卡驅動。因爲linux系統對Navidia顯卡的兼容性並非特別好,因此選擇使用閉源N卡官方驅動,在啓動器搜索附加驅動程序。

在附加驅動面板中,選擇NVIDIA binary driver(閉源驅動) 367,而後點擊應用更改。Reboot後,驅動就安裝成功了。

Terminal輸入:sudo nvidia-smi查看顯卡及驅動信息

也能夠Terminal輸入:nvidia-settings,在nvidia驅動管理器中查看

以上方法最爲保險,在ubuntu14.04不會出現登陸界面loop的問題。

 

通常說來ubuntu源裏面提供的都不是包的最新版本,若是想安裝最新版驅動能夠去(http://www.nvidia.cn/Download/index.aspx?lang=cn)下載

 

附:網上有另外一種方法安裝驅動(可是在ubuntu16.04LTS按照此方法安裝後出現登陸界面loop問題)

參考:http://blog.csdn.net/solar_paper/article/details/52969212

 

  1. NVIDIA CUDA Toolkit安裝

首先cuda toolkit是什麼?

官方網站上說:The NVIDIA® CUDA® Toolkit provides a comprehensive development environment for C and C++ developers building GPU-accelerated applications.

也就是說,CUDA Toolkit是一個提供C/C++接口使用GPU加速計算的工具包。要想使用NVIDIA GPU加速計算(GPU浮點運算能力比CPU高几十倍),必須安裝CUDA Toolkit,固然前提是你的N卡是CUDA核心。(https://developer.nvidia.com/cuda-gpus 網站能夠查看你的設備是否支持CUDA Toolkit)

好比個人顯卡是NVIDIA GeForce GTX960,明顯支持CUDA,計算性能5.2分。

安裝:

1. 首先去(https://developer.nvidia.com/cuda-downloads )下載安裝包,推薦下載runfile安裝

 

下載的是CUDA Toolkit 8.0 : cuda_8.0.44_linux.run

 

2. 而後執行安裝命令: sudo sh cuda_8.0.44_linux.run

[注意:執行此句會有一系列提示讓你確認,可是注意,有個讓你選擇是否安裝nvidia361驅動,Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 361.62?

必定要選擇。由於前面咱們已經安裝了更加新的nvidia 367,因此這裏不要選擇安裝。其他的都直接默認或者選擇是便可。]

 

3. 最後配置環境變量,輸入以下命令打開profile

sudo gedit /etc/profile

在最後加入如下兩行,保存並退出。

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

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

使配置生效

source /etc/profile

或者

sudo ldconfig 也能夠

 

4. 驗證CUDA安裝成功

Terminal 輸入 nvcc –V 查看CUDA版本信息

 

  1. 安裝cuDNN

什麼是cuDNN?

官網說法:NVIDIA cuDNN is a GPU-accelerated library of primitives for deep neural networks.

即cuDNN是專門針對Deep Learning框架設計的一套GPU計算加速方案,目前支持的DL庫包括Caffe,ConvNet, Torch7等。

安裝:

1.首先下載cuDNN包(https://developer.nvidia.com/rdp/cudnn-download

因爲cuDNN源代碼暫時未公開,下載須要確認適用CUDA Toolkit版本。我選擇CuDNN v5 for CUDA 8.0。

 

2.下載完畢並解壓後獲得:

3.安裝cuDNN

#只須要把頭文件和動態庫文件拷貝到系統中的CUDA Tookit安裝目錄的相應位置便可

cd /cuda

sudo cp ./lib64/* /usr/local/cuda/lib64/

sudo cp ./include/cudnn.h /usr/local/cuda/include/

 

  1. 安裝基本工具包

  2. 右鍵打開終端

sudo apt-get install nautilus-open-terminal

  1. git

sudo apt-get install git git-gui

  1. 安裝python基本科學計算包

  2. 安裝pip

sudo apt-get install python-pip

  1. 科學計算包及其依賴項

$ sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose --fix-missing

numpy 

1.8.2 

scipy 

0.18.1 

matplotlib 

1.3.1 

pandas 

0.13.1 

sympy 

0.7.4.1 

nose 

1.3.1 

 

安裝指定版本的numpy能夠去(https://sourceforge.net/projects/numpy/files/ )下載源碼包,而後執行指令:

sudo python setup.py install

  1. 安裝Qt4(c++) 和 PyQt4

Qt GUI框架

  1. Qt4 c++庫安裝

  1. Ubuntu下安裝Qt

$ sudo apt-get install libqt4-dev libqt4-gui qt4-qtconfig libqt4-sql qt4-dev-tools qt4-doc qt4-demos qt4-designer –fix-missing

# libqt4-gui 安裝出現錯誤 E: 沒法定位軟件包 libqt4-gui,能夠去掉

# 這一步安裝建議使用sudo aptitude install ...解決包間依賴問題

qt4-dev-tools 

包含了Qt Assistant及Qt Linguist等工具,所以不須要單獨安裝這兩個工具。

qt4-doc 

是幫助文檔,包含了Qt中各個類庫的詳細說明以及豐富的例子程序,可使用Qt Assistant 工具來打開閱讀。

qt4-qtconfig 

是配置Qt環境的一個對話框,通常默認就好了,不多有必要去更改。

qt4-demos 

包含不少能夠運行起來的可執行文件以及源代碼。

qt4-designer 

是用來設計GUI界面的設計器。

 

  1. 安裝鏈接MySQL的驅動程序 (可選)

$ sudo apt-get install libqt4-sql-mysql

  1. 安裝第三方的QWT庫 (可選)

Qwt,全稱是Qt Widgets for Technical Applications,是一個基於LGPL版權協議的開源項目, 可生成各類統計圖。它爲具備技術專業背景的程序提供GUI組件和一組實用類,其目標是以基於2D方式的窗體部件來顯示數據, 數據源以數值,數組或一組浮點數等方式提供, 輸出方式能夠是Curves(曲線),Slider(滾動條),Dials(圓盤),Compasses(儀表盤)等等。該工具庫基於Qt開發,因此也繼承了Qt的跨平臺特性。

$ sudo apt-get install libqwt5-qt4 libqwt5-qt4-dev

注:安裝完這些後,打開Qt Designer,就會發現左邊的Widget列表裏面多了"Qwt Widget"這一組;

  1. 安裝集成開發環境QDevelop

這個確定是要裝的能夠方便的開發編譯調試Qt程序

$ sudo apt-get install qdevelop

 

附:固然也能夠經過官網(http://download.qt.io/archive/qt/ )下載源代碼,編譯安裝。但作通常開發apt-get安裝足夠。

  1. PyQt4安裝

PyQt是Qt庫的Python接口

$ sudo apt-get install libxext6 libxext-dev libqt4-dev libqt4-sql qt4-dev-tools qt4-doc qt4-designer qt4-qtconfig "python-qt4-*" python-qt4 --fix-missing

#綠色部分是Qt c++已安裝的包

  1. 安裝wxWidgets(c++) 和 wxPython

  2. wxWidgets(c++)

因爲codeblocks的GUI界面使用的wxWidgets庫因此要先安裝這個庫。儘可能下載官方的最新穩定版本(官網http://www.wxwidgets.org/downloads/ 查看最新版本)

$ sudo apt-get install libwxbase2.8 libwxbase2.8-dev libwxgtk2.8-0 libwxgtk2.8-dev libgtk2.0 libgtk2.0-dev wx-common wx2.8-headers wx2.8-i18n wx2.8-examples wx2.8-doc –fix-missing

# 貌似2.8已經沒有了

$ sudo apt-get install libwxbase3.0 libwxbase3.0-dev libwxgtk3.0 libwxgtk3.0-dev wx-common wx3.0-headers wx3.0-i18n wx3.0-examples wx3.0-doc --fix-missing

  1. wxPython安裝

$ apt-cache search wxpython

$ sudo apt-get install python-wxgtk2.8 python-wxtools wx2.8-i18n libwxgtk2.8-dev libgtk2.0-dev --fix-missing

#綠色部分是wxWidgets c++已安裝的包

sudo apt-get install python-wxgtk3.0 python-wxtools --fix-missing

 

  1. wxformbuilder (3.5)安裝

wxformbuilder功能相似Qt Designer,均爲可視化的窗口設計器,只是針對框架不一樣。

默認狀況下,ubuntu 14.04/14.10 系統使用apt-get從系統的源或網易163的源默認安裝的是libwxgtk2.8, wxformbuild3.0,安裝以後是不能支持生成Python代碼的,須要添加新的源才能解決此問題:

sudo add-apt-repository -y ppa:wxformbuilder/wxwidgets

sudo add-apt-repository -y ppa:wxformbuilder/release

sudo apt-get update

sudo apt-get install wxformbuilder

 

  1. 安裝wine

wine是一個在linux系統安裝exe安裝包的工具

$sudo apt-get install wine

#安裝中途問你是否安裝一個licence,選擇OK便可

  1. 安裝集成開發環境

  2. codeblocks

  1. 安裝基本編譯環境

sudo apt-get install build-essential

sudo apt-get install gdb

  1. 安裝wxWidgets 2.8 GUI庫(參考上文)
  2. 安裝codeblock

直接使用apt-get是不能安裝codeblocks最新版本的,因此須要更新來源使用ppa安裝

sudo add-apt-repository ppa:damien-moore/codeblocks-stable     #添加codeblocks的PPA源

sudo apt-get update                                         #跟新系統的源

sudo apt-get install codeblocks codeblocks-contrib                 #安裝codeblocks

  1. sublime

  1. 官網下載deb安裝包( http://www.sublimetext.com/ )
  2. 而後使用命令sudo dpkg -i sublim.deb安裝
    1. pycharm

  3. 在官網下載pycharm的linux安裝包( https://www.jetbrains.com/pycharm/download/#section=linux )
  4. 解壓安裝包並cd 到../bin文件夾,執行pycharm.sh腳本
  5. 製做桌面快捷方式

終端輸入:$ sudo gedit /usr/share/applications/Pycharm.desktop #建立快捷方式文件

粘貼模板:

[Desktop Entry]

Type=Application

Name=Pycharm

GenericName=Pycharm3

Comment=Pycharm3:The Python IDE

Exec=sh /YOUR/PATH/TO/PYCHARM/bin/pycharm.sh

Icon=/YOUR/PATH/TO/PYCHARM/bin/pycharm.png

Terminal=pycharm

Categories=Pycharm;

 

專業版註冊碼    

43B4A73YYJ-eyJsaWNlbnNlSWQiOiI0M0I0QTczWVlKIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXNza
WduZWVOYW1lIjoiIiwiYXNzaWduZWVFbWFpbCI6IiIsImxpY2Vuc2VSZXN0cmljdGlvbiI6IkZvciBlZHVj
YXRpb25hbCB1c2Ugb25seSIsImNoZWNrQ29uY3VycmVudFVzZSI6ZmFsc2UsInByb2R1Y3RzIjpbeyJjb
2RlIjoiSUkiLCJwYWlkVXBUbyI6IjIwMTctMDItMjUifSx7ImNvZGUiOiJBQyIsInBhaWRVcFRvIjoiMjAxNy0
wMi0yNSJ9LHsiY29kZSI6IkRQTiIsInBhaWRVcFRvIjoiMjAxNy0wMi0yNSJ9LHsiY29kZSI6IlBTIiwicGFp
ZFVwVG8iOiIyMDE3LTAyLTI1In0seyJjb2RlIjoiRE0iLCJwYWlkVXBUbyI6IjIwMTctMDItMjUifSx7ImNvZG
UiOiJDTCIsInBhaWRVcFRvIjoiMjAxNy0wMi0yNSJ9LHsiY29kZSI6IlJTMCIsInBhaWRVcFRvIjoiMjAxNy0
wMi0yNSJ9LHsiY29kZSI6IlJDIiwicGFpZFVwVG8iOiIyMDE3LTAyLTI1In0seyJjb2RlIjoiUEMiLCJwYWlkV
XBUbyI6IjIwMTctMDItMjUifSx7ImNvZGUiOiJSTSIsInBhaWRVcFRvIjoiMjAxNy0wMi0yNSJ9LHsiY29kZ
SI6IldTIiwicGFpZFVwVG8iOiIyMDE3LTAyLTI1In0seyJjb2RlIjoiREIiLCJwYWlkVXBUbyI6IjIwMTctMDItM
jUifSx7ImNvZGUiOiJEQyIsInBhaWRVcFRvIjoiMjAxNy0wMi0yNSJ9XSwiaGFzaCI6IjMzOTgyOTkvMCIsI
mdyYWNlUGVyaW9kRGF5cyI6MCwiYXV0b1Byb2xvbmdhdGVkIjpmYWxzZSwiaXNBdXRvUHJvbG9u
Z2F0ZWQiOmZhbHNlfQ==-keaxIkRgXPKE4BR/ZTs7s7UkP92LBxRe57HvWamu1EHVXTcV1B4f/KN
QIrpOpN6dgpjig5eMVMPmo7yMPl+bmwQ8pTZaCGFuLqCHD1ngo6ywHKIQy0nR249sAUVaCl2wGJ
waO4JeOh1opUx8chzSBVRZBMz0/MGyygi7duYAff9JQqfH3p/BhDTNM8eKl6z5tnneZ8ZG5bG1XvqF
TqWk4FhGsEWdK7B+He44hPjBxKQl2gmZAodb6g9YxfTHhVRKQY5hQ7KPXNvh3ikerHkoaL5apgsV
BZJOTDE2KdYTnGLmqxghFx6L0ofqKI6hMr48ergMyflDk6wLNGWJvYHLWw==-MIIEPjCCAiagAwIBA
gIBBTANBgkqhkiG9w0BAQsFADAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBMB4XDTE1MTEwM
jA4MjE0OFoXDTE4MTEwMTA4MjE0OFowETEPMA0GA1UEAwwGcHJvZDN5MIIBIjANBgkqhkiG9w0B
AQEFAAOCAQ8AMIIBCgKCAQEAxcQkq+zdxlR2mmRYBPzGbUNdMN6OaXiXzxIWtMEkrJMO/5oUfQJbL
LuMSMK0QHFmaI37WShyxZcfRCidwXjot4zmNBKnlyHodDij/78TmVqFl8nOeD5+07B8VEaIu7c3E1N
+e1doC6wht4I4+IEmtsPAdoaj5WCQVQbrI8KeT8M9VcBIWX7fD0fhexfg3ZRt0xqwMcXGNp3DdJHiO0
rCdU+Itv7EmtnSVq9jBG1usMSFvMowR25mju2JcPFp1+I4ZI+FqgR8gyG8oiNDyNEoAbsR3lOpI7grUY
SvkB/xVy/VoklPCK2h0f0GJxFjnye8NT1PAywoyl7RmiAVRE/EKwIDAQABo4GZMIGWMAkGA1UdEwQ
CMAAwHQYDVR0OBBYEFGEpG9oZGcfLMGNBkY7SgHiMGgTcMEgGA1UdIwRBMD+AFKOetkhnQhI2Q
b1t4Lm0oFKLl/GzoRykGjAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBggkA0myxg7KDeeEwEwYD
VR0lBAwwCgYIKwYBBQUHAwEwCwYDVR0PBAQDAgWgMA0GCSqGSIb3DQEBCwUAA4ICAQC9WZuYg
QedSuOc5TOUSrRigMw4/+wuC5EtZBfvdl4HT/8vzMW/oUlIP4YCvA0XKyBaCJ2iX+ZCDKoPfiYXiaSiH+H
xAPV6J79vvouxKrWg2XV6ShFtPLP+0gPdGq3x9R3+kJbmAm8w+FOdlWqAfJrLvpzMGNeDU14YGXiZ9b
VzmIQbwrBA+c/F4tlK/DV07dsNExihqFoibnqDiVNTGombaU2dDup2gwKdL81ua8EIcGNExHe82kjF4z
wfadHk3bQVvbfdAwxcDy4xBjs3L4raPLU3yenSzr/OEur1+jfOxnQSmEcMXKXgrAQ9U55gwjcOFKrgOxE
dek/Sk1VfOjvS+nuM4eyEruFMfaZHzoQiuw4IqgGc45ohFH0UUyjYcuFxxDSU9lMCv8qdHKm+wnPRb0
l9l5vXsCBDuhAGYD6ss+Ga+aDY6f/qXZuUCEUOH3QUNbbCUlviSz6+GiRnt1kA9N2Qachl+2yBfaqUqr8h
7Z2gsx5LcIf5kYNsqJ0GavXTVyWh7PYiKX4bs354ZQLUwwa/cG++2+wNWP+HtBhVxMRNTdVhSm38Ak
nZlD+PTAsWGu9GyLmhti2EnVwGybSD2Dxmhxk3IPCkhKAK+pl0eWYGZWG3tJ9mZ7SowcXLWDFAk0lR
JnKGFMTggrWjV8GYpw5bq23VmIqqDLgkNzuoog==

 

  1. matlab

  1. 下載matlab安裝包

從網盤上下載安裝包以及Crack (https://pan.baidu.com/s/1gf9IeCN ), password: 4gj3

Crack中包含license和破解文件

  1. 解壓獲得iso鏡像,並掛載到linux

$ sudo mkdir /home/下載/temp_matlab (此文件夾用於臨時存放掛載後的iso文件)

$ sudo mount -o loop /home/yangzheng/下載/Matlab/MATHWORKS_R2014A.iso /home/yangzheng/下載/temp_matlab (path爲咱們存放iso的路徑)

  1. 安裝

$ cd /home/yangzheng/下載/temp_matlab

$ sudo ./install

選擇不聯網安裝

安裝路徑使用默認路徑,不然編譯opencv,caffe時候找不到。

安裝過程當中使用序列號

12345-67890-12345-67890

  1. 激活

安裝完成以後選擇Crack下的license_405329_R2014a.lic文件進行激活

  1. 破解

因爲/usr/local/MATLAB只有只讀的權限, 因此先要將其權限修改成"可寫"

$ sudo chmod -R a+w /usr/local/MATLAB

將Crack/Linux下的libmwservices.so 複製到 /usr/local/MATLAB/R2014a/bin/glnxa64

$ sudo cp /home/yangzheng/下載/Matlab/Crack/Linux/libmwservices.so /usr/local/MATLAB/R2014a/bin/glnxa64

將先前掛載的iso卸載

$ sudo umount /home/yangzheng/下載/temp_matlab

  1. 啓動matlab

$ sudo matlab

  1. 建立桌面快捷方式相似Pycharm

我在Ubuntu下是用的默認安裝的,路徑爲/usr/local/MATLAB/R2010b

$ sudo gedit /usr/share/applications/Matlab.desktop

寫入如下內容

[Desktop Entry]
Type=Application
Name=Matlab
GenericName=Matlab 2010b
Comment=Matlab:The Language of Technical Computing
Exec=sh /usr/local/MATLAB/R2014a/bin/matlab -desktop
Icon=/usr/local/MATLAB/Matlab.png #圖標圖片需自行下載,拷貝到根目錄下
Terminal=false
Categories=Development;Matlab;

圖片

 

  1. source insight

Source insight是一款windows下的工程源代碼管理軟件。很是好用,特別是在學習某些第三方庫的源代碼時,可以很方便的搜索和查看函數,對象等的實現代碼。

 

  1. 安裝
  1. 安裝wine(參考前文)
  2. 用wine安裝Source Insight(InsightSetup.exe安裝包 須要下載)

cd到安裝包目錄下在終端中輸入如下命令:

$ wine ./InsightSetup.exe

  1. 以後的安裝過程與windows下同樣,一直點next便可
  2. 註冊碼: SI3US-361500-17409

 

  1. 使用
  1. 打開source insight,點擊project->New project新建一個工程,以下圖所示。

  1. 給新建的工程添加一個名字,在此舉個例子命名test。

  1. 選中要添加的工程代碼,點擊browse選擇工程所在的路徑,點擊OK。

  1. 選擇要添加代碼的目錄,點擊add tree,而後會把文件都導入進去,完成之後點擊close。工程新建完成。

 

  1. 安裝cmake, cmake-qt-gui

直接使用apt-get命令安裝的cmake版本過低,在生成編譯腳本是可能出現一些莫名其妙的問題。好比在ubuntu14.04下Configure opencv3.1.0就會一直定位不到python lib路徑,致使python-opencv沒法正常編譯。因此添加ppa源安裝最新版本的cmake。

sudo add-apt-repository ppa:george-edison55/cmake-3.x

sudo apt-get update

sudo apt-get install cmake cmake-gui

 

  1. 安裝boost

  2. apt-get安裝

也是最簡單的:進入linux系統後,輸入

$ sudo apt-cache search boost

你將看到不少文件信息,你會看到其中一個文件叫 libboost-dev, 直接安裝此文件便可:

$ sudo apt-get install libboost-dev libboost-dbg libboost-all-dev

這樣就安裝成功了。這個速度很快,是由於直接拷貝了lib文件到系統。

可使用本文最後代碼測試安裝成功與否。

直接apt-get安裝版本爲(1.54.0)

  1. 編譯安裝

  1. 首先下載boost庫的源代碼( www.boost.org
  2. 解壓包

  1. cd 到文件夾下,執行指令

$ ./bootstrap.sh #這個命令配好編譯環境,爲下一步編譯作準備

  1. 運行二步命令後獲得一個文件,名字是bjam,運行這個文件:

$ ./bjam #這裏須要十幾分鍾編譯源文件,完成後就表明安裝成功了。

  1. 檢驗安裝成功否:在linux下任意目錄下建立test.cpp

#include <boost/lexical_cast.hpp>

#include <iostream>

int main()

{

using boost::lexical_cast;

int a = lexical_cast<int>("123");

double b = lexical_cast<double>("123.12");

std::cout<<a<<std::endl;

std::cout<<b<<std::endl;

return 0;

運行命令:

$ g++ test.cpp -o test

$ ./test

獲得輸出結果爲:123, 123.12

表明boost安裝成功

 

注:編譯安裝有個問題是,環境變量的配置。若是配置不得當,可能使得caffe,或者其餘依賴他的庫在配置編譯文件時找不到boost。因此簡單使用的話經量使用apt-get安裝便可。

 

  1. 安裝BLAS

什麼事BLAS:BLAS,即基礎線性代數子程序庫,裏面擁有大量已經編寫好的關於線性代數運算的程序。全稱Basic Linear Algebra Subprograms。這裏能夠選擇(ATLAS,MKL或者OpenBLAS)

從性能上看:MKL > OpenBLAS > ATLAS

  1. 安裝MKL

  2. 首先下載並安裝英特爾® 數學內核庫 Linux* 版MKL

下載連接是:https://software.intel.com/en-us/intel-education-offerings,能夠下載Student版的,先申請,而後會立馬收到一個郵件(裏面有安裝序列號),打開照着下載就好了。下載完以後,要把文件解壓到home文件夾(或直接把tar.gz文件拷貝到home文件夾,爲了節省空間,安裝完記得把壓縮文件給刪除喔~),或者其餘的ext4的文件系統中。

  1. 接下來是安裝過程

$ tar zxvf cpp_studio_xe_2013_sp1_update3.tar.gz #若是你是直接拷貝壓縮文件過來的

$ chmod a+x /home/username/cpp_studio_xe_2013_sp1_update3 -R

$ sudo ./install_GUI.sh

  1. 配置環境變量

#新建intel_mkl.conf,並編輯

$ cd /etc/ld.so.conf.d

$ sudo touch intel_mkl.conf

$ sudo vi intel_mkl.conf

/opt/intel/lib/intel64

/opt/intel/mkl/lib/intel64

  1. 安裝該過程問題及解決方案
  • 一個很2的問題,在啓動linux的時候,手賤點了一下系統自動更新,可能正好更新到某個關鍵組件,受權的時候,始終無效,這個大概解決就是記得更新完,重啓,而後關機,我弄的時候,重啓也沒用。
  • 記得把解壓後的studio_xe軟件包丟到home下,或者乾脆直接在home裏解壓,注意這裏它是保存在home/username, 這裏的username是你的用戶名。這一步主要是,讓安裝程序處於linux的文件系統中,爲了修改權限作保證。
  • 使用chmod對文件夾及其子文件進行受權,安裝程序是install_GUI.sh,它調用了install.sh,接下來又調用了一連串的文件,這些文件都必須具備可執行的權限,因此,你懂了~照着上面的步驟就行了
  • 安裝的時候,能夠安裝到root權限下,或者sudo權限,我是裝在root權限下,避免麻煩,這時就必須確保已經爲root設置過密碼了,而後會讓你輸入你申請的時候發給你的序列號。沒設置的話,執行:
    $ sudo passwd root
  1. 安裝OpenBLAS

$ sudo apt-get install libopenblas-dev

附:也能夠到官網下載源碼編譯安裝

  1. 安裝ATLAS

$ sudo apt-get install libatlas-base-dev

 

  1. 安裝opencv

opencv是機器視覺庫。要啓用CUDA加速模塊,Qt支持模塊,Matlab支持模塊必須手動編譯源代碼。

  1. 安裝opencv3.1.0

  2. 安裝依賴

# 官網列出的依賴庫

[compiler] $ sudo apt-get install build-essential

[required] $ sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

[optional] $ sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

# 還有一些系統可能缺失的包,不然編譯時可能出錯,或者編譯完成後程序啓動出錯。綠色部分是安裝Qt4已在前面安裝完成,能夠去掉。

$ sudo apt-get install libopencv-dev libdc1394-22 libdc1394-22-dev yasm libpng12-dev libtiff5-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils

 

  1. Install ffmpeg

FFmpeg是一套能夠用來記錄、轉換數字音頻、視頻,並能將其轉化爲流的開源計算機程序。要處理視頻流則能夠選裝,並在cmake中配置。

$ sudo add-apt-repository ppa:mc3man/trusty-media

$ sudo apt-get update

$ sudo apt-get install ffmpeg gstreamer

 

  1. 下載源代碼
    1. 首先在(https://github.com/opencv )網站下載opencv3.1.0源碼以及opencv_contrib擴展模塊。opencv從2.x到3.x是一個很大的轉變,對於不少功能不完善、性能不穩定的模塊,都被方法了extra_modules(擴展模塊)裏面了,而opencv_contrib就是這樣一個擴展模塊。
    2. 爲了解決opencv3.1.0 cmake 過程當中出現的ippicv_linux_20151201.tgz下載失敗致使的錯誤,須要先下載ippicv_linux_20151201.tgz文件而後放入opencv源文件的/home/yangzheng/myLib/opencv-3.1.0/opencv/sources/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e文件夾中替換原有的.tgz文件
    3. 解壓下載的源代碼,以下

  1. 編譯配置
    1. 一樣打開cmake,配置編譯的屬性,爲了加入擴展模塊,須要在OPENCV_EXTRA_MODUALES_PATH選擇擴展模塊的路徑如:/home/yangzheng/myLib/opencv-3.1.0/opencv_contrib/modules(注意:須要精確到modules文件夾)

  1. 須要注意的是,若是但願opencv使用Qt gui則須要勾選

  1. 須要使用CUDA加速運算(重要)

首先要啓用CUDA加速必須勾選WITH_CUDA標誌

注:BUILD_CUDA_STUBS不能勾選,沒有cuda核心又須要編譯的人才須要勾選。

注:主要是看cmake能不能自動搜索到CUDA的include文件和libs文件路徑。若是CUDA Toolkit安裝沒有問題應該是可以自動識別的。

  1. 啓用BLAS加速運算

注:須要使用CUBLAS則須要勾選WITH_CUBLAS,須要使用opencv dnn且須要BLAS加速則要勾選opencv_dnn_BLAS

  1. 爲了編譯python2.7接口要確保如下選項正確

  1. 產生Makefile,編譯源文件,安裝opencv

編譯配置選擇完畢後,點擊Configure完成配置,沒報錯的話點擊Generate按鈕在build文件夾產生Makefile文件。

#如下是截取的部分感興趣的配置結果

GUI:

QT 4.x:         YES (ver 4.8.6 EDITION = OpenSource)

QT OpenGL support:     NO

OpenGL support:     NO

VTK support:         NO

 

Other third-party libraries:

Use IPP Async:     NO

Use VA:         NO

Use Intel VA-API/OpenCL:     NO

Use Eigen:         NO

Use Cuda:         YES (ver 8.0)

Use OpenCL:         YES

Use custom HAL:     NO

 

NVIDIA CUDA

Use CUFFT:         YES

Use CUBLAS:         NO

USE NVCUVID:     NO

NVIDIA GPU arch:     20 21 30 35

NVIDIA PTX archs:     30

Use fast math:     YES

 

Python 2:

Interpreter:     /usr/bin/python2.7 (ver 2.7.6)

Libraries:     /usr/lib/x86_64-linux-gnu/libpython2.7.so (ver 2.7.6)

numpy:     /usr/local/lib/python2.7/dist-packages/numpy/core/include (ver 1.12.0rc1)

packages path:     lib/python2.7/dist-packages

 

Python (for build):    /usr/bin/python2.7

 

Matlab:

mex:     /usr/local/MATLAB/R2014a/bin/mex

Compiler/generator: Working

 

Install path:     /usr/local

-----------------------------------------------------------------

Configuring done 

 

編譯源文件:

$ cd YOUR/PATH/build

$ make -j8 #opencv 要編譯的源文件太多,時間大概30分鐘

$ sudo make install

  1. 配置opencv.conf,將opencv加入環境變量:

$ sudo gedit /etc/ld.so.conf.d/opencv.conf

寫入/usr/local/lib

更新庫目錄

$ sudo ldconfig

 

下面兩個添加環境變量

打開文件profile

$ sudo gedit /etc/profile

加入下面兩行:

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

  1. 安裝過程錯誤及解決
  1. 找不到 -lippicv錯誤解決

(ubuntu 16.04 LTS和ubuntu 14.04 LTS 安裝opencv-3.1.0)

按照這篇文章安裝http://blog.csdn.net/dengshuai_super/article/details/51394118 出現了下面的錯誤.

g++ example.cpp -o example `pkg-config --libs --cflags opencv`

/usr/bin/ld: 找不到 -lippicv

collect2: error: ld returned 1 exit status 

 

  1. 解決方案一

https://github.com/opencv/opencv/issues/5852這篇文章中也遇到了這個錯誤. 能夠在cmake時加上"cmake -DINSTALL_CREATE_DISTRIB=ON" 這句,就不會有這個錯誤了.
能夠完整參照http://blog.csdn.net/frosero/article/details/50742400這篇文章安裝.
總結安裝步驟:
ubuntu16.04 安裝opencv3.1.0

cd 到opencv-3.1.0

cmake -DINSTALL_CREATE_DISTRIB=ON

make

sudo make install

 

gedit /etc/profile

加入下面兩行保存

export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

source /etc/profile

 

sudo ldconfig 

編譯以前勾選此選項

  1. 解決方案二(推薦)

若是不想從新安裝能夠用此方案。在終端輸入

$ pkg-config --libs opencv

-L/usr/local/lib -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lippicv -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann -lopencv_core

$ pkg-config --cflags opencv

-I/usr/local/include/opencv -I/usr/local/include 

使用 pkg-config 的 - -cflags 參數能夠給出在編譯時所須要的選項,而 - -libs 參數能夠給出鏈接時的選項。

能夠看到:因爲使用了 pkg-config 工具來得到庫的選項,因此不論庫安裝在什麼目錄下,均可以使用相同的編譯和鏈接命令,帶來了編譯和鏈接界面的統一。

使用 pkg-config 工具提取庫的編譯和鏈接參數有兩個基本的前提:

庫自己在安裝的時候必須提供一個相應的 .pc 文件(不這樣作的庫說明不支持 pkg-config 工具的使用)。

pkg-config 必須知道要到哪裏去尋找此 .pc 文件。

GTK+ 及其依賴庫支持使用 pkg-config 工具,因此剩下的問題就是如何告訴 pkg-config 到哪裏去尋找庫對應的 .pc 文件,這也是經過設置搜索路徑來解決的。

對於支持 pkg-config 工具的 GTK+ 及其依賴庫來講,庫的頭文件的搜索路徑的設置變成了對 .pc 文件搜索路徑的設置。.pc 文件的搜索路徑是經過環境變量 PKG_CONFIG_PATH 來設置的,pkg-config 將按照設置路徑的前後順序進行搜索,直到找到指定的 .pc 文件爲止。

所以安裝時在/etc/profile 中添加

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH

是爲了告訴pkg-config,opencv庫指定的.pc文件在/usr/local/lib/pkgconfig這個路徑下。也就是opencv.pc這個文件,內容以下:

# Package Information for pkg-config

prefix=/usr/local

exec_prefix=${prefix}

libdir=${exec_prefix}/lib

includedir_old=${prefix}/include/opencv

includedir_new=${prefix}/include

 

Name: OpenCV

Description: Open Source Computer Vision Library

Version: 3.1.0

Libs: -L${exec_prefix}/lib -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lippicv -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann -lopencv_core

Libs.private: -L/usr/lib/x86_64-linux-gnu -lpng -lz -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lgthread-2.0 -lglib-2.0 -lavcodec-ffmpeg -lavformat-ffmpeg -lavutil-ffmpeg -lswscale-ffmpeg -ldl -lm -lpthread -lrt

Cflags: -I${includedir_old} -I${includedir_new} 

(把opencv.pc備份一下)能夠看到庫裏面有-lippicv這個選項,把-lippicv刪掉便可。

 

  1. 解決方案三

從opencv.pc中能夠看出,pkg-config加載庫的路徑是/usr/local/lib,咱們去這這個路徑下看看,發現沒有-lippicv對應的庫,別的選項都有對應的庫,而後咱們把-lippicv對應的庫(libippicv.a)放到這個路徑下就好啦了。

個人liboppicv.a在/home/ds/opencv-3.1.0/3rdparty/ippicv/unpack/ippicv_lnx/lib/intel64這個路徑下。你的也在你本身opencv文件夾的對應路徑下。

先cd 到上面這個路徑下,而後cp liboppicv.a /usr/local/lib 將這個庫文件複製到/usr/local/lib下就行了。

 

  1. Ubuntu14.04下cmake不產生python-opencv編譯文件的問題:

須要升級cmake(參看前文)

另外cmake在configure的時候提示no modular named numpy主要是沒有安裝python3.0的numpy包緣由,能夠忽略

 

2)執行sudo make時,可能出現 opencv_cudalegacy編譯失敗

make[2]: *** [modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/src/graphcuts.cpp.o] Error 1

make[1]: *** [modules/cudalegacy/CMakeFiles/opencv_cudalegacy.dir/all] Error 2

make: *** [all] Error 2的錯誤。

那是由於 cuda-8.0OpenCV 3.1.0發生了衝突。解決方法:修改openCV 3.1.0源碼,使其兼容cuda-8.0

$ sudo vi opencv-3.1.0/modules/cudalegacy/src/graphcuts.cpp

將第四十五行位置的

#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)

改成

#if !defined(HAVE_CUDA)||defined(CUDA_DISABLER)||(CUDART_VERSION>=8000)

而後從新執行

$ sudo make -j4 #-j4爲開四個線程,加快編譯速度

 

 

  1. 安裝PyCUDA

什麼是PyCUDA: PyCUDA lets you access Nvidia's CUDA parallel computation API from Python. CUDA Toolkit的Python接口。安裝2016.2.1版本

  1. Install gcc >= 4.3

$ sudo apt-get install build-essential gcc

  1. Install Boost C++ libraries

$ sudo apt-get install libboost-all-dev

  1. Install numpy

$ sudo apt-get install python-numpy –y

  1. Install other necessary libraries:

$ sudo apt-get install build-essential python-dev python-setuptools libboost-python-dev libboost-thread-dev –y

  1. Download PyCUDA and unpack it:

(https://pypi.python.org/pypi/pycuda )

$ tar xzvf pycuda-VERSION.tar.gz

  1. Configure, make and install PyCUDA:

$ cd pycuda-VERSION

$ ./configure.py --cuda-root=/usr/local/cuda --cudadrv-lib-dir=/usr/lib --boost-inc-dir=/usr/include --boost-lib-dir=/usr/lib --boost-python-libname=boost_python-py27 --boost-thread-libname=boost_thread

$ make -j 4

$ sudo python setup.py install

$ sudo pip install .

  1. 安裝theano

  2. 安裝gfortran, numpy, scipy, sklearn, blas, atlas等包

# 安裝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

 

#安裝 nose

$ sudo apt-get install python-nose

 

# 安裝pip

$ sudo apt-get install python-pip

$ sudo apt-get install python-dev

$ sudo apt-get install g++

$ sudo apt-get install git

 

  1. 安裝numpy和scipy, scikit-learn包

$ sudo apt-get install python-numpy

$ sudo apt-get install python-scipy

$ sudo apt-get install python-sklearn

#安裝成功測試:

$ python -c "import numpy;numpy.test()"

$ python -c "import scipy;scipy.test()"

 

  1. 安裝pyCUDA

參考前文

  1. 安裝Theano

# 安裝Theano

sudo pip install Theano

或者使用pycharm的包管理工具指定安裝,因爲以後咱們要安裝Lasagne-0.2.dev1,要求Theano==0.8.0

因此指定安裝

安裝完畢以後運行:

$ python "import theano;theano.test()"

#運行正常則說明theano安裝正確,注theano.test()僅在使用CPU時有效

另外若是numpy版本太高或太低都會致使一個numpy init失敗的動態錯誤。我安裝的theano-0.8.0,測試的結果來看numpy- 1.11.1沒出錯,不過因爲個人PyCUDA版本太高提示警告:

UserWarning: Your CuDNN version is more recent then Theano. If you see problems, try updating Theano or downgrading CuDNN to version 4.

  1. 配置Theano

•    在主目錄下新建.theanorc文件

cd

gedit .theanorc

•    在.theanorc中輸入下面的內容

[cuda]

root=/usr/local/cuda

[global]

floatX = float32

device = gpu0 #表示使用GPU加速計算

[nvcc]

fastmath = True

[mode]=FAST_RUN

 

  1. 測試Theano是否在使用GPU

•將下列python代碼複製到useGPU.py,並運行。

from theano import function, config, shared, sandbox

import theano.tensor as T

import numpy

import time

 

vlen = 10 * 30 * 768 # 10 x #cores x # threads per core

iters = 1000

 

rng = numpy.random.RandomState(22)

x = shared(numpy.asarray(rng.rand(vlen), config.floatX))

f = function([], T.exp(x))

print f.maker.fgraph.toposort()

t0 = time.time()

for i in xrange(iters):

r = f()

t1 = time.time()

print 'Looping %d times took' % iters, t1 - t0, 'seconds'

print 'Result is', r

if numpy.any([isinstance(x.op, T.Elemwise) for x in f.maker.fgraph.toposort()]):

print 'Used the cpu'

else:

print 'Used the gpu' 

 

•假定上面已經設置文件.theanorc,運行命令以下所示:

python useGPU.py

  1. 解決cuda_ndarray.cu錯誤

  • 若是出現錯誤:ERROR (theano.sandbox.cuda): Failed to compile cuda_ndarray.cu: libcublas.so.6.5 cannot open shared object file: No such file or directory,須要運行如下命令:

$ sudo ldconfig /usr/local/cuda/lib64

注,以上是零時辦法,每次重啓計算機後都會再次出現,如下是永久解決方案:

ldconfig命令的功能是動態的連接一個庫,就是說動態的將庫的地址加入到系統的某個緩存以便當使用庫的時候系統可以找到其位置。實際上爲了永久的實現這個功能,咱們能夠在 /etc/ld.so.conf.d/目錄下新建theano.conf 文件,並在中添加 /usr/local/cuda/lib64 這一句,這樣就永久的在系統中加入了cuda庫的地址。

 

  1. 安裝lasagne

lasagne是python開源神經網絡的包。安裝

  1. Requirments:

Python >=2.7 or >=3.4 

 

pip 

 

C compiler 

 

numpy >= 1.6.2

$ pip install numpy 

scipy >= 0.11 

$ pip install scipy 

BLAS 

$ pip install libopenblas-dev

(They will work fine without one, but a lot slower, so it is worth getting this right (but this is less important if you plan to use a GPU).) 

 

  1. 安裝

#選擇安裝穩定版

$ pip install Lasagne==0.1

 

開發者方式安裝最新版0.2

git clone https://github.com/Lasagne/Lasagne.git

cd Lasagne

pip install -r requirements.txt     #實際上就是須要安裝theano 0.8.0

pip install --editable .

 

  1. 安裝caffe

caffe是一個c++的深度學習框架。

  1. caffe框架安裝:

  2. 安裝依賴
  1. 安裝依賴包

#綠色部分前面已經裝過

$ sudo apt-get install build-essential

$ sudo apt-get install libprotobuf-dev protobuf-compiler libsnappy-dev libopencv-dev libboost-all-dev

$ sudo apt-get install liblmdb-dev libleveldb-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev

包名稱

功能

libgoogle-glog-dev 

Google Logging Library.

libprotobuf-dev 

Protocol buffers are a flexible, efficient, automated mechanism for

serializing structured data - similar to XML, but smaller, faster, and

simpler.

caffe使用的配置文件全是.prototxt,框架經過使用這個庫解析這些文件。

liblmdb-dev 

Lighting Memory-Mapped Database (LMDB) is an ultra-fast, ultra-compact

key-value embedded data store developed for the OpenLDAP Project.

caffe中的訓練圖片須要組織成lmdb,libhdf5,leveldb三種數據庫文件格式中的一種才能訓練。

libhdf5-serial-dev 

HDF5 is a file format and library for storing scientific data.

libleveldb-dev 

LevelDB is a fast key-value storage library written at Google that

provides an ordered mapping from string keys to string values. 

libgflags-dev 

gflags是google的一個開源的處理命令行參數的庫,使用c++開發,具有python接口

 

  1. 要使用GPU則須要安裝顯卡驅動和CUDA Toolkit,另外還要安裝cuDNN

    (參考前文)

    已安裝nvidia-367驅動和CUDA Toolkit-8.0及對應cuDNN

  2. 安裝BLAS(基本線性代數庫)

    (參考前文)

    已安裝 OpenBLAS 和 ATLAS

  3. 安裝opencv

    (參考前文)

    已安裝opencv-3.1.0

  4. 安裝boost >= 1.55
    1. 下載caffe源碼

相似opencv,要啓用caffe的功能必須手動編譯源碼安裝。

下載地址:https://github.com/BVLC/caffe

或者執行Git命令:

$ git clone git://github.com/BVLC/caffe.git

 

  1. 編譯caffe
  2. 切換到Caffe所在目錄

$ cd YOUR/PATH/caffe

$ cp Makefile.config.example Makefile.config

  1. 配置Makefile.config

配置一些引用文件(增長部分主要是解決新版本下,HDF5的路徑問題)

CPU_ONLY := 1  

#若是不使用GPU加速計算就選上這一項

USE_CUDNN := 1

#要使用CUDNN加速神經網絡計算

OPENCV_VERSION := 3 

#若使用opencv3.0.0以上版本

INCLUDE_DIRS := $(PYTHON_INCLUDE)

/usr/lib/x86_64-linux-gnu/hdf5/serial/include 

添加HDFS的頭文件和庫文件路徑

LIBRARY_DIRS := $(PYTHON_LIB)

/usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial 

 

BLAS := atlas 

計算能力 mkl > openlas >atlas

MATLAB_DIR := /usr/local/MATLAB/R2014a 

MATLAB directory should contain the mex binary in /bin. 

    

  1. Make Caffe

make all -j8 #編譯源文件

make test -j8 #編譯測試源文件

make runtest -j8 #測試

 

  1. 編譯caffe python接口
    1. Caffe擁有python\C++\shell接口,在Caffe使用python特別方便,在實例中都有接口的說明。
      1. 確保pip已經安裝

$ sudo apt-get install python-pip

  1. 在/caffe/python新建shell文件並執行安裝依賴

for req in $(cat requirements.txt); do pip install $req; done

  1. 編譯python接口

make pycaffe

當出現下面錯誤的時候修改

fatal error: numpy/arrayobject.h: No such file or directory.

PYTHON_INCLUDE := /usr/include/python2.7 \

/usr/lib/python2.7/dist-packages/numpy/core/include This is where our error is. So by changing this line to:

 

PYTHON_INCLUDE := /usr/include/python2.7 \

/usr/local/lib/python2.7/dist-packages/numpy/core/include

# Our problem is gone.

 

  1. 運行python結構

import sys

sys.path.append("~/caffe/python")

'''

import caffe If the last import caffe doesn't pop out any error, congratulations, now you can use python to play with caffe!

''' 

 

  1. 若想系統自動加載caffe python庫,則須要在bashrc中配置caffe python的路徑

sudo gedit /etc/bash.bashrc

sudo gedit /etc/profile

 

而後在最下面添加:

# load caffe python package

export PYTHONPATH=$PYTHONPATH:/home/yangzheng/myLibs/caffe/python 

 

  1. 在Mnist運行LeNet
    1. 獲取數據源

./data/mnist/get_mnist.sh

./examples/mnist/create_mnist.sh

  1. 由於是CPU運行,因此修改在examples文件下的Mnist下的lenet_solver.prototxt中的solver_mode:CPU

solver_mode: CPU

  1. 訓練模型

./examples/mnist/train_lenet.sh

 

  1. 安裝TensorFlow

  2. pip安裝

# Ubuntu/Linux 64-bit, CPU only, Python 2.7
$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.12.1-cp27-none-linux_x86_64.whl

# Ubuntu/Linux 64-bit, GPU enabled, Python 2.7

# Requires CUDA toolkit 8.0 and CuDNN v5. For other versions, see "Installing from sources" below.
$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-0.12.1-cp27-none-linux_x86_64.whl

# 安裝(Python 2.7)

$ sudo pip install --upgrade $TF_BINARY_URL

 

配置cuda環境變量:

# cuda

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

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"

export CUDA_HOME=/usr/local/cuda 

 

成功啓用cuda顯示:

>>> import tensorflow

I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcublas.so locally

I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcudnn.so locally

I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcufft.so locally

I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcuda.so.1 locally

I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcurand.so locally

 

 

錯誤:

Loaded CuDNN library: 5005 (compatibility version 5000) but source was compiled with library 5103 (compatibility version 5100)

這個錯誤提示cuDNN版本低

官方說是使用cuda8.0+cudnnV5,實際是使用cuda7.5+cudnnV5.1才行

相關文章
相關標籤/搜索