Install Caffe on CentOS 7
不定期更新,記錄自己配置Caffe的過程。
1. 在安裝一些依賴的時候,yum卻提示找不到依賴(提示:No package …… available),如下圖:
誤打誤撞在安裝shadowsocks。的時候發現了dnf命令,接著又發現了 epel-release
,於是便安裝了epel-release,再用yum安裝這些依賴的時候,發現可以用了!
首先用命令 sudo yum install epel-release
安裝上面說的epel-release,然後繼續下面步驟。
1. 環境準備
更新yum以及其它軟體包:
sudo yum update
安裝 gcc 和 g++:
sudo yum install gcc gcc-c++
安裝git, vim, python dev 和 pip:
sudo yum install git vim python-devel python-pip
2. 安裝 Caffe 依賴
1. 安裝所需的庫
sudo yum install protobuf-devel leveldb-devel openblas-devel snappy-devel opencv-devel boost-devel hdf5-devel gflags-devel glog-devel lmdb-devel
注意:如果不用GPU跑,可省略下面兩步。
2. 安裝CUDA
如果需要用到GPU跑的話,要安裝CUDA:
sudo wget http://developer.download.nvidia.com/compute/cuda/repos/rhel6/x86_64/cuda-repo-rhel6-7.5-18.x86_64.rpm
sudo rpm --install cuda-repo-rhel6-7.5-18.x86_64.rpm
sudo yum clean expire-cache
sudo yum install cuda
3. GPU 支援
Note: CUDA 只支援 NVIDIA 顯示卡,並且並不支援所有的顯示卡,可以官網查詢.
1. 安裝 NVIDIA 驅動
下載並安裝最新的 NVIDIA 驅動
2. 安裝 CUDNNv3
下載並安裝 CUDNNv3 (需要註冊 NVIDIA賬號,或者直接百度網盤),然後執行命令安裝:
wget ...
sudo tar -xvf cudnn-7-0.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
3. 獲取 Caffe
git clone https://github.com/BVLC/caffe
4. 安裝 Python 依賴
Caffe 有對script比較友好的python介面, 建議安裝:
for req in $(cat caffe/python/requirements.txt);
do
sudo pip install $req;
done
5. 編譯 Caffe
cd caffe
cp Makefile.config.example Makefile.config
6. 編輯 Caffe 配置檔案
1. 首先編輯 Makefile.conf
vim Makefile.config
找到
BLAS := atlas
把 ‘atlas’ 改為 ‘open’
BLAS := open
然後在下面新增一行:
BLAS_INCLUDE := /usr/include/openblas
接著編輯 PYTHON_INCLUDE := /usr/include/python2.7 \
下面那一行:
/usr/lib/python2.7/dist-packages/numpy/core/include
把python 路徑改為:
/usr/lib64/python2.7/site-packages/numpy/core/include
根據GPU的相容性改動一下內容:
無 GPU 支援:
編輯
#CPU_ONLY := 1
去掉“#”,變為:
CPU_ONLY := 1
儲存並退出:
— OR —
有 GPU 支援:
#USE_CUDNN := 1
同理去掉 “#”:
USE_CUDNN := 1
2. 開始編譯 Makefile.conf
sudo make all
sudo make runtest
sudo make pycaffe
sudo make distribute
3. 執行測試
./data/mnist/get_mnist.sh
./examples/mnist/create_mnist.sh
./examples/mnist/train_lenet.sh
注:
如果不用GPU,而是用CPU跑,需要修改[caff root]]/examples/mnist/lenet_solver.prototxt
檔案最後一行,將GPU改為CPU,並執行train_lenet.sh。同樣如果用GPU跑,就把那個設成GPU。
如果一切順利,就能看到caffe開始訓練並輸出結果了。