相關內容搜集自官方文檔與網絡,既無創新性,也不求甚解,我也不了解Caffe,僅僅搭上之后做個記錄,方便以后重裝
安裝依賴項
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
下載Caffe
sudo apt-get install git
git clone https://github.com/BVLC/caffe.git
cp Makefile.config.example Makefile.config
修改Makefile.config
找到
# CPU_ONLY := 1
取消注釋,設置為CPU模式,不用CUDA
找到
# Whatever else you find you need goes here.
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
修改為如下形式,以加入hdf5庫的目錄
# Whatever else you find you need goes here.
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial
進行編譯
make all
make test
make runtest
安裝Caffe的Python接口
sudo apt-get install gfortran 安裝scipy庫的時候需要fortran編譯器
進入Caffe根目錄下的python目錄,目錄下的requirements.txt文件中有依賴項
sudo pip install -r requirements.txt
打開~/.bashrc文件,在最后面加入如下代碼,以將caffe的python目錄加入環境變量中
export PYTHONPATH=/home/xxx/caffe/python:$PYTHONPATH
保存退出,更新配置文件
sudo ldconfig
修改配置文件Makefile.config
找到
# Note: this is required only if you will compile the python interface.
按個人需要修改后面的內容的注釋
找到
# Uncomment to support layers written in Python (will link against Python libs)
# WITH_PYTHON_LAYER := 1
取消注釋
編譯
make pycaffe
其間會報錯
fatal error: numpy/arrayobject.h
需要安裝python-numpy
sudo apt-get install python-numpy
然后再編譯就可以了
進入python,import caffe
下載FCN的官方源碼
git clone https://github.com/shelhamer/fcn.berkeleyvision.org.git
進入voc-fcn8s目錄,打開caffemodel-url文件中的地址,下載已經訓練好的caffemodel,保存在當前目錄下
修改FCN根目錄下的infer.py,根據需要修改載入圖片的地址,和用到的模型的地址
在原有代碼中加入如下代碼,用於顯示與保存圖片
import matplotlib.pyplot as plt
plt.imshow(out, cmap='gray');plt.axis('off')
plt.savefig('test.png')
plt.show()
數據集
VOC2007與VOC2012,用於圖像語義分割、目標檢測與圖像分類
http://pjreddie.com/projects/pascal-voc-dataset-mirror/
MNIST,用於數字的手寫識別
http://yann.lecun.com/exdb/mnist/
CIFAR-10,用於10類圖像分類
CIFAR-100,用於100類圖像分類
https://www.cs.toronto.edu/~kriz/cifar.html