caffelinux編譯
『壹』 linux下無cuda怎麼pip安裝pytorch
linux下安裝caffe(無cuda)以及python介面
caffe(8)
主要過程稍微記錄一下:
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
這個要FQ,我放在我的網路雲上了。
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 來安裝。
註:如果可以FQ,只用下面一句就可以安裝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就沒有報錯了。
