版權聲明:本文為博主原創文章,未經博主允許不得轉載。
很無奈的開個頭,最近裝了好幾次caffe,前面由於沒有記錄完整而詳細的過程,以致於這次安裝的過程中除了很多問題,現在特此留博客一篇記錄一下細節的部分,免得下次繼續入坑。
首先列一下本文檔下適合的環境,和已經成功安裝的環境。
- 顯卡:Telsa k20c/Quadro k5000
- 系統:Centos7
好了,下面就是具體的步驟了:
安裝依賴
Ubuntu用戶參考http://caffe.berkeleyvision.org/install_apt.html
OS X用戶參考http://caffe.berkeleyvision.org/install_osx.html
REHL/Centos/Fedora用戶參考以下步驟:
-
安裝基礎依賴
sudo yum install protobuf-devel leveldb-devel snappy-devel OpenCV-devel boost-devel hdf5-devel
-
其他依賴
sudo yum install gflags-devel glog-devel lmdb-devel
如果發現沒有找到上面的包,可以采用手動安裝的方法,系統需要提前裝好最新的cmake版本,我裝的是3.4.0版本。
cmake版本傳送cmake3.4.0二進制版本
cmake的配置過程可以參考Centos6.3安裝配置cmake
接下來就可以手動安裝glog,gflags,lmdb了
-
glog
wget https://google-glog.googlecode.com/files/glog-0.3.3.tar.gz
tar zxvf glog-0.3.3.tar.gz
cd glog-0.3.3
./configure
make && make install -
gflags
wget https://github.com/schuhschuh/gflags/archive/master.zip
unzip master.zip
cd gflags-master
mkdir build && cd build
export CXXFLAGS=”-fPIC” && cmake .. && make VERBOSE=1
make && make install -
lmdb
Git clone https://github.com/LMDB/lmdb
cd lmdb/libraries/liblmdb
make && make install -
protobuf重要
-
hdf5安裝
hdf5安裝請查看官方文檔
http://www.hdfgroup.org/HDF5/release/obtainsrc.html#src - leveldb安裝
leveldb下載請見https://github.com/google/leveldb
安裝請見http://blog.sina.com.cn/s/blog_560e310001015jfx.html
缺失的步驟:
leveldb文件夾下依次執行make
cd out-shared
cp lib* /usr/local/lib
切記,上述依賴需要安裝到/usr/local下面的目錄,否則編譯時會提示找不到相關庫文件。當然也可以配置到用戶自定義的目錄下面,不過沒有嘗試過。 前方高能!!接下來就是一些稍大型的安裝動作了,步驟如下:
-
NVIDIA驅動,驅動文件請於官方鏈接自行下載NVIDIA驅動下載
1、下載完成后,設置系統為命令行啟動
systemctl set-default multi-user.target
2、重啟系統,切換到root模式
3、設剛才下載的文件名為nvidia.run,接下來執行sh nvidai.run
,應該會出現幾個提示,選擇accept或者yes。出現這一步的原因是系統沒有禁用Nouveau
驅動,現在安裝nvidia驅動的過程中會幫助用戶禁用Nouveau
驅動,之前參照網上的一些帖子禁用Nouveau
均不成功,所以只有這種方法了。
4、使用 dracut重新建立 initramfs image file :- 備份 the initramfs file
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
- 重新建立 the initramfs file
dracut -v /boot/initramfs-$(uname -r).img $(uname -r)
5、再次重啟系統,如果字體變大了,就說明
Nouveau
禁用成功,然后就可以繼續安裝Nvidia驅動了
6、成功安裝Nvidia驅動后,再次將系統設置為圖形模式,systemctl set-default graphical.target
,重啟系統就可以正常進入圖形界面了。也可以參考這篇文章CentOS 7.0安裝Nvidia驅動
- 備份 the initramfs file
-
CUDA7.5自行下載CUDA下載鏈接
建議下載
runfile
類型的文件,后綴名為.run
下面就可以使用sh cuda*.run執行安裝步驟,安裝時需要輸入幾個參數- 1、是否安裝Nvidia驅動,選no
- 2、安裝cuda的位置,我輸入的是
/usr/local/cuda-7.5
- 3、是否創建cuda的快捷方式,我選擇的是yes
- 4、是否創建cuda-samples,我輸入的是
/usr/local/cuda-samples
- 5、是否安裝OpenGL,選擇是,這個過程也算是安裝了OpenCV
- 6、接下來就安裝成功了
-
OpenBLAS安裝OpenBLAS下載鏈接
下載后,解壓,然后安裝。
或者可以使用我用的版本,OpenBLAS–樓主使用的版本
然后執行下面的指令tar -xzvf OpenBLAS.tar.gz
make
make --PREFIX='usr/local/' install
上述步驟只做參考,實際操作過程可能會存在部分差異,安裝的時候注意一下就行
若在caffe編譯的時候出現/usr/bin/ld: cannot find -lopenblas
請在openblas編譯文件夾下執行cp lib* /usr/local/lib
即可 -
Anaconda
官方下載鏈接Anaconda下載鏈接
樓主下載鏈接Anaconda下載鏈接
接下來直接執行sh anaconda.sh就行,安裝過程自己領會
接下來就是最終的caffe配置過程了,caffe的github地址為https://github.com/BVLC/caffe
將工程文件拷貝到本地后,執行
cp Makefile.config.example Makefile.config
vim ./Makefile.config
修改CUDA_DIR :=/usr/local/cuda-7.5
(按照個人之前安裝cuda的路徑進行配置)
修改BLAS := open
修改BLAS_INCLUDE,BLAS_LIB為安裝路徑
保存(如果用戶顯卡不夠用,可以去除前面的CPU_ONLY :=1
前面的注釋符號”#”,表示只使用CPU做運算)
接下來就可以正常的執行
make all
如果編譯速度慢,可以使用make all -jN
(N為核心處理器的個數)make test
對編譯結果進行測試
下面需要對用戶根目錄下的.bashrc
文件進行編輯,加載一些動態庫
vim ~/.bashrc
文本最后加入export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-7.5/lib64
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/glog/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
最后再次進入caffe目錄,執行make runtest
,喝杯茶,等一會,就結束了。
上述過程是安裝caffe最基礎的步驟,如果需要加速cuDNN,Matlab,等擴展文件,可以參考
http://www.cnblogs.com/platero/p/3993877.html
教程到此結束,如有紕漏請指正。謝謝。未經允許,不准轉載,謝謝配合。