昨天在mac上折騰了一天都沒有安裝成功,晚上在mac上裝了一個ParallelDesktop虛擬機,然后裝了linux,十分鍾就安裝好了,我也是醉了=。=
主要過程稍微記錄一下:
1.安裝BLAS
sudo apt-get install libatlas-base-dev
2.安裝依賴項
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev protobuf-compiler liblmdb-dev
3.安裝glog
這個要翻牆,我放在我的百度雲上了。
tar zxvf glog-0.3.3.tar.gz cd glog-0.3.3 ./configure make sudo make install
4.安裝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 sudo make install
這一步需要cmake,如果沒有安裝可以用 sudo apt-get install cmake 安裝。
5.安裝lmdb
git clone https://gitorious.org/mdb/mdb.git
cd mdb/libraries/liblmdb
make
sudo make install
如果沒有安裝git,也要用 sudo apt-get install git 來安裝。
注:如果可以翻牆,只用下面一句就可以安裝gflags,glog和lmdb了,省了3,4,5這三步。
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler
6.下載Caffe
git clone git://github.com/BVLC/caffe.git
7.安裝Caffe
cd caffe
cp Makefile.config.example Makefile.config
因為這里沒有gpu,所以需要設置Makefile.config文件中的CPU_ONLY:= 1,把這句的注釋去掉就可以了。
然后編譯
make all make test make runtest
安裝好以后我們就可以試着在mnist上跑一下lenet了。
1.首先獲取mnist數據
cd caffe ./data/mnist/get_mnist.sh
2.然后創建lenet
./examples/mnist/create_mnist.sh
注意一定要在caffe的根目錄下運行以下命令,否則會報“ build/examples/mnist/convert_mnist_data.bin: not found”的錯誤,參見這里。
3.訓練cnn
沒有gpu的話要記得把caffe/examples/mnist/lenet_solver.prototxt中的solver_mode設置成solver_mode: CPU。然后在根目錄下執行:
./examples/mnist/train_lenet.sh
准確率可以達到0.9912
因為caffe的tutorial上有很大一部分是python的,所以后來又安裝了一下python的接口。
1.首先安裝python
2.安裝pip
sudo apt-get install python-pip python-dev build-essential
3.運行以下代碼安裝必要的依賴項:
sudo pip install -r ./python/requirements.txt
4.這里我運行了make clean以及其他編譯的caffe的命令,重新編譯了一次caffe,但我不確定是不是必須的。
5.在caffe的根目錄下運行:
make pycaffe
這里遇到了一個問題:
virtual memory exhausted: Cannot allocate memory make: *** [python/caffe/_caffe.so] Error 1
按照這里的方法增加linux虛擬機的內存就可以解決了。
6.把caffe/python的路徑加到python路徑中:
運行python進入python shell,然后運行下列命令:
import sys sys.path.append("path/to/caffe/python/")
exit()
7. 這時候再次進入python shell,運行import caffe就沒有報錯了。
參考
[1]http://blog.csdn.net/fengbingchun/article/details/45535741