1. 安裝軟件擴(kuò)展源
sudo yum -y install epel-release
2. 環(huán)境準(zhǔn)備
- 更新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
3. 安裝 Caffe 依賴
- 安裝所需的庫(kù)
sudo yum install protobuf-devel leveldb-devel openblas-devel snappy-devel opencv-devel boost-devel hdf5-devel gflags-devel glog-devel lmdb-devel
- 安裝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
- GPU 支持
注意: CUDA 只支持 NVIDIA 顯卡,并且并不支持所有的顯卡,可以官網(wǎng)查詢.
下載并安裝最新的 NVIDIA 驅(qū)動(dòng)
下載并安裝 CUDNNv3 (需要注冊(cè) NVIDIA賬號(hào),或者直接百度網(wǎng)盤),然后執(zhí)行命令安裝:
sudo wget http://124.202.164.4/files/318300000ADB4203/developer2.download.nvidia.com/compute/machine-learning/cudnn/secure/v7.0.3/prod/9.0_20170926/cudnn-9.0-linux-x64-v7.tgz
sudo tar -xvf cudnn-9.0-linux-x64-v7.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
4. 獲取 Caffe
git clone https://github.com/BVLC/caffe
5.安裝 Python 依賴
pip install --upgrade pip
for req in $(cat caffe/python/requirements.txt); do sudo pip install $req; done
6. 復(fù)制Caffe配置文件
cd caffe
cp Makefile.config.example Makefile.config
7. 編輯Caffe配置文件
vim Makefile.config
- 將BLAS := atlas 改為 BLAS := open
- 在下面添加 BLAS_INCLUDE := /usr/include/openblas
- 接著編輯 PYTHON_INCLUDE := /usr/include/python2.7 \ 下面那一行:
/usr/lib/python2.7/dist-packages/numpy/core/include
改為/usr/lib64/python2.7/site-packages/numpy/core/include- CPU 支持: #CPU_ONLY := 1 改為 CPU_ONLY := 1
- GPU 支持: #USE_CUDNN := 1 改為 USE_CUDNN := 1
8. 開始編譯 Makefile.conf
sudo make all -j16 #-j16表示開16個(gè)線程并行編譯,可以大大減少編譯時(shí)間,但是線程數(shù)不要超過cpu核數(shù)
sudo make runtest
sudo make pycaffe
sudo make distribute
9. 運(yùn)行測(cè)試
cd caffe
./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,并執(zhí)行train_lenet.sh。同樣如果用GPU跑,就把那個(gè)設(shè)成GPU。