深度學習這麼火,對於有幸從事機器學習的我而言激動不已,無奈caffe安裝較爲繁瑣,加之硬件條件的限制,使得自己不得不對其望而卻步。不過google的一款深度學習框架tensorflow安裝較爲簡單,在Windows下之間pip install tensorflow即可完成安裝,然後在eclipse中進行基於tensorflow的開發了。本人先從簡單的開始,先在windows下安裝tensorflow並進行學習,用其做了幾個VGG、CNN、驗證碼識別等幾個簡單例子後,對其差不多已經瞭解,故而這幾天想轉戰caffe。
本人選擇使用ubuntu14.04,因爲其穩定,而且遇到錯誤在網上的解答也比較多,整個安裝過程不到一天時間(安裝很簡單,主要是安裝或者編譯過程花的時間比較長),也沒有遇到什麼大的錯誤,整體而言很順利,主要是參考了http://www.th7.cn/system/lin/201605/165973.shtml這篇博客。寫的比較詳細,不過其部分代碼一步到位,會導致出錯,本人根據安裝經驗重新進行整理,部分安裝步驟根據該博客來的,只是對出錯的地方進行了修改。希望幫助大家早日安裝好。
sudo apt-get update #更新軟件列表
sudo apt-get upgrade #更新軟件
sudo apt-get install build-essential
sudo sh cuda_7.5.18_linux.run#(cuda_7.5.18_linux.run是下載的文件名)5、第四步的安裝過程比較長,安裝過程會顯示最終用戶許可協議(EULA),很長,可以按‘q’退出閱讀,然後安裝的時候不要安裝顯卡驅動,具體如下:
sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev protobuf-compiler gfortran libjpeg62 libfreeimage-dev libatlas-base-dev git python-dev python-pip libgoogle-glog-dev libbz2-dev libxml2-dev libxslt-dev libffi-dev libssl-dev libgflags-dev liblmdb-dev python-yaml
sudo easy_install pillow 或者 pip3 install pillow8、下載caffe
cd ~ #進入主目錄
git clone https://github.com/BVLC/caffe.git然後在當前目錄下就會看到下載的caffe,通過ls命令查看。
cd caffe
cat python/requirements.txt | xargs -L 1 sudo pip install
sudo ln -s /usr/include/python2.7/ /usr/local/include/python2.7
sudo ln -s /usr/local/lib/python2.7/dist-packages/numpy/core/include/numpy/ /usr/local/include/python2.7/numpy
cp Makefile.config.example Makefile.config
make all -j2 #2代表啓用2各線程同時編譯
make test
make runtest
make pycaffe
make distribute
如果編譯過程報錯:AR -o .build_release/lib/libcaffe.aLD -o .build_release/lib/libcaffe.so.1.0.0/usr/bin/ld:cannot find -lhdf5_hl/usr/bin/ld: cannot find -lhdf5collect2: error: ld returned 1 exit statusMakefile:572:
recipe for target '.build_release/lib/libcaffe.so.1.0.0' failedmake: *** [.build_release/lib/libcaffe.so.1.0.0]
Error 1
則:然後修改Makefile 文件(注意不是)Makefile.config 將裏面的
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
改爲LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial
Makefile.config文件的第85行
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
改爲:
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
這時候cd 到caffe 下的 python 目錄,試試caffe 的 python wrapper安裝好沒有:
python
import caffe
如果不報錯,那就說明安裝好了。
測試:
cd $CAFFE_ROOT
./data/mnist/get_mnist.sh
./examples/mnist/creat_mnist.sh
./examples/mnist/train_lenet.sh