cpupython |
i5 6代mysql |
內存容量linux |
8G ios |
gpu c++ |
GTX960 git |
顯存容量github |
2G(建議顯存在4G以上,不然一些稍具規模的神經網絡沒法訓練,會提示顯存容量不足) |
安裝包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 |
使用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 |
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
首先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版本信息
什麼是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/
sudo apt-get install nautilus-open-terminal
sudo apt-get install git git-gui
sudo apt-get install python-pip
$ 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
Qt GUI框架
$ 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界面的設計器。 |
$ sudo apt-get install libqt4-sql-mysql
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"這一組;
這個確定是要裝的能夠方便的開發編譯調試Qt程序
$ sudo apt-get install qdevelop
附:固然也能夠經過官網(http://download.qt.io/archive/qt/ )下載源代碼,編譯安裝。但作通常開發apt-get安裝足夠。
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++已安裝的包
因爲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
$ 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
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
wine是一個在linux系統安裝exe安裝包的工具
$sudo apt-get install wine
#安裝中途問你是否安裝一個licence,選擇OK便可
sudo apt-get install build-essential
sudo apt-get install gdb
直接使用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
終端輸入:$ 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 |
從網盤上下載安裝包以及Crack (https://pan.baidu.com/s/1gf9IeCN ), password: 4gj3
Crack中包含license和破解文件
$ sudo mkdir /home/下載/temp_matlab (此文件夾用於臨時存放掛載後的iso文件)
$ sudo mount -o loop /home/yangzheng/下載/Matlab/MATHWORKS_R2014A.iso /home/yangzheng/下載/temp_matlab (path爲咱們存放iso的路徑)
$ cd /home/yangzheng/下載/temp_matlab
$ sudo ./install
選擇不聯網安裝
安裝路徑使用默認路徑,不然編譯opencv,caffe時候找不到。
安裝過程當中使用序列號
12345-67890-12345-67890
安裝完成以後選擇Crack下的license_405329_R2014a.lic文件進行激活
因爲/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
$ sudo matlab
我在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;
圖片
Source insight是一款windows下的工程源代碼管理軟件。很是好用,特別是在學習某些第三方庫的源代碼時,可以很方便的搜索和查看函數,對象等的實現代碼。
cd到安裝包目錄下在終端中輸入如下命令:
$ wine ./InsightSetup.exe
直接使用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
也是最簡單的:進入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)
$ ./bootstrap.sh #這個命令配好編譯環境,爲下一步編譯作準備
$ ./bjam #這裏須要十幾分鍾編譯源文件,完成後就表明安裝成功了。
#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安裝便可。
什麼事BLAS:BLAS,即基礎線性代數子程序庫,裏面擁有大量已經編寫好的關於線性代數運算的程序。全稱Basic Linear Algebra Subprograms。這裏能夠選擇(ATLAS,MKL或者OpenBLAS)
從性能上看:MKL > OpenBLAS > ATLAS
下載連接是:https://software.intel.com/en-us/intel-education-offerings,能夠下載Student版的,先申請,而後會立馬收到一個郵件(裏面有安裝序列號),打開照着下載就好了。下載完以後,要把文件解壓到home文件夾(或直接把tar.gz文件拷貝到home文件夾,爲了節省空間,安裝完記得把壓縮文件給刪除喔~),或者其餘的ext4的文件系統中。
$ 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
#新建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
$ sudo apt-get install libopenblas-dev
附:也能夠到官網下載源碼編譯安裝
$ sudo apt-get install libatlas-base-dev
opencv是機器視覺庫。要啓用CUDA加速模塊,Qt支持模塊,Matlab支持模塊必須手動編譯源代碼。
# 官網列出的依賴庫
[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
FFmpeg是一套能夠用來記錄、轉換數字音頻、視頻,並能將其轉化爲流的開源計算機程序。要處理視頻流則能夠選裝,並在cmake中配置。
$ sudo add-apt-repository ppa:mc3man/trusty-media
$ sudo apt-get update
$ sudo apt-get install ffmpeg gstreamer
首先要啓用CUDA加速必須勾選WITH_CUDA標誌
注:BUILD_CUDA_STUBS不能勾選,沒有cuda核心又須要編譯的人才須要勾選。
注:主要是看cmake能不能自動搜索到CUDA的include文件和libs文件路徑。若是CUDA Toolkit安裝沒有問題應該是可以自動識別的。
注:須要使用CUBLAS則須要勾選WITH_CUBLAS,須要使用opencv dnn且須要BLAS加速則要勾選opencv_dnn_BLAS
編譯配置選擇完畢後,點擊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
$ 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
(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 |
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 |
編譯以前勾選此選項
若是不想從新安裝能夠用此方案。在終端輸入
$ 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刪掉便可。
從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下就行了。
須要升級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.0與OpenCV 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爲開四個線程,加快編譯速度
什麼是PyCUDA: PyCUDA lets you access Nvidia's CUDA parallel computation API from Python. CUDA Toolkit的Python接口。安裝2016.2.1版本
$ sudo apt-get install build-essential gcc
$ sudo apt-get install libboost-all-dev
$ sudo apt-get install python-numpy –y
$ sudo apt-get install build-essential python-dev python-setuptools libboost-python-dev libboost-thread-dev –y
(https://pypi.python.org/pypi/pycuda )
$ tar xzvf pycuda-VERSION.tar.gz
$ 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 .
# 安裝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
$ 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()"
參考前文
# 安裝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.
• 在主目錄下新建.theanorc文件
cd
gedit .theanorc
• 在.theanorc中輸入下面的內容
[cuda]
root=/usr/local/cuda
[global]
floatX = float32
device = gpu0 #表示使用GPU加速計算
[nvcc]
fastmath = True
[mode]=FAST_RUN
•將下列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
$ sudo ldconfig /usr/local/cuda/lib64
注,以上是零時辦法,每次重啓計算機後都會再次出現,如下是永久解決方案:
ldconfig命令的功能是動態的連接一個庫,就是說動態的將庫的地址加入到系統的某個緩存以便當使用庫的時候系統可以找到其位置。實際上爲了永久的實現這個功能,咱們能夠在 /etc/ld.so.conf.d/目錄下新建theano.conf 文件,並在中添加 /usr/local/cuda/lib64 這一句,這樣就永久的在系統中加入了cuda庫的地址。
lasagne是python開源神經網絡的包。安裝
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).) |
#選擇安裝穩定版
$ 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 .
caffe是一個c++的深度學習框架。
#綠色部分前面已經裝過
$ 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接口 |
(參考前文)
已安裝nvidia-367驅動和CUDA Toolkit-8.0及對應cuDNN
(參考前文)
已安裝 OpenBLAS 和 ATLAS
(參考前文)
已安裝opencv-3.1.0
相似opencv,要啓用caffe的功能必須手動編譯源碼安裝。
下載地址:https://github.com/BVLC/caffe
或者執行Git命令:
$ git clone git://github.com/BVLC/caffe.git
$ cd YOUR/PATH/caffe
$ cp Makefile.config.example 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. |
make all -j8 #編譯源文件 make test -j8 #編譯測試源文件 make runtest -j8 #測試 |
$ sudo apt-get install python-pip
for req in $(cat requirements.txt); do pip install $req; done
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. |
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! ''' |
sudo gedit /etc/bash.bashrc sudo gedit /etc/profile
而後在最下面添加: # load caffe python package export PYTHONPATH=$PYTHONPATH:/home/yangzheng/myLibs/caffe/python |
./data/mnist/get_mnist.sh
./examples/mnist/create_mnist.sh
solver_mode: CPU
./examples/mnist/train_lenet.sh
# 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才行