不定期更新,记录自己配置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开始训练并输出结果了。