CentOS配置Caffe
在CentOS系统上配置Caffe深度学习框架需要一系列步骤,包括环境准备、依赖安装、编译配置以及测试验证,本文将详细介绍整个过程,确保读者能够顺利完成配置并开始使用Caffe进行深度学习任务。

系统环境准备
确保CentOS系统已更新至最新版本,推荐使用CentOS 7或更高版本,以获得更好的兼容性,执行以下命令更新系统:
sudo yum update -y
确保系统已安装基本开发工具,如gcc、g++、make等,可以通过以下命令安装:
sudo yum groupinstall "Development Tools" -y
建议关闭SELinux和防火墙,以避免权限问题:
sudo setenforce 0 sudo systemctl stop firewalld sudo systemctl disable firewalld
安装依赖库
Caffe的编译和运行需要多种依赖库,包括Boost、OpenCV、CUDA、cuDNN等,以下是安装步骤:
-
安装Boost库
Boost是Caffe的核心依赖之一,可以通过yum安装:sudo yum install boost boost-devel boost-python -y
-
安装OpenCV
OpenCV用于图像处理,推荐从源码编译安装最新版本:sudo yum install cmake gtk2-devel numpy -y wget https://github.com/opencv/opencv/archive/4.5.0.zip unzip 4.5.0.zip cd opencv-4.5.0 mkdir build && cd build cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. make -j$(nproc) sudo make install
-
安装CUDA和cuDNN
如果需要GPU加速,需安装NVIDIA驱动、CUDA Toolkit和cuDNN。- 首先添加NVIDIA仓库并安装驱动:
sudo yum localinstall nvidia-driver-local-repo-rhel7-*.rpm -y sudo yum install nvidia-driver -y
- 下载CUDA Toolkit并安装:
wget https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-repo-rhel7-*.rpm sudo rpm --install cuda-repo-rhel7-*.rpm sudo yum clean all sudo yum install cuda -y
- 下载cuDNN并解压到CUDA目录:
tar -xzvf cudnn-*-linux-x64-v*.tgz sudo cp cuda/include/cudnn*.h /usr/local/cuda/include sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64 sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
- 首先添加NVIDIA仓库并安装驱动:
-
安装其他依赖
包括protobuf、gflags、glog、leveldb等:sudo yum install protobuf-devel leveldb-devel snappy-devel hdf5-devel protobuf-compiler gflags-devel glog-devel -y
编译配置Caffe
完成依赖安装后,即可下载并编译Caffe。

-
下载Caffe源码
git clone https://github.com/BVLC/caffe.git cd caffe
-
配置Makefile文件
根据系统环境修改Makefile.config文件,关键配置包括:cp Makefile.config.example Makefile.config
取消以下注释以启用GPU支持:
CPU_ONLY := 0 USE_CUDNN := 1 USE_NCCL := 1
指定CUDA和cuDNN路径:
CUDA_DIR := /usr/local/cuda CUDA_ARCH := -gencode arch=compute_61,code=sm_61
-
编译Caffe
执行以下命令编译:make all -j$(nproc) make test -j$(nproc) make runtest -j$(nproc)
如果编译成功,说明Caffe已正确配置。
测试Caffe安装
为确保Caffe正常运行,可以运行一个简单的测试,使用MNIST数据集训练一个LeNet网络:
-
下载MNIST数据集并转换格式:
./data/mnist/get_mnist.sh ./examples/mnist/create_mnist.sh
-
运行训练脚本:

./examples/mnist/train_lenet.sh
如果训练开始并显示损失值下降,说明Caffe配置成功。
常见问题与解决
在配置过程中,可能会遇到一些常见问题,以下是两个典型问题及解决方案:
FAQs
-
问题:编译时提示“fatal error: hdf5.h: No such file or directory”
解答:这是由于未安装HDF5库或路径未正确配置,可以通过以下命令安装HDF5并重新编译:sudo yum install hdf5-devel -y make clean make all -j$(nproc)
-
问题:运行Caffe时提示“CUDA out of memory”
解答:这通常是由于GPU显存不足,可以通过以下方法解决:- 减小batch size:在prototxt文件中修改
batch_size参数。 - 使用更小的模型或降低输入图像分辨率。
- 如果显存仍然不足,可以考虑使用CPU模式运行(设置
CPU_ONLY := 1)。
- 减小batch size:在prototxt文件中修改
通过以上步骤,您可以在CentOS系统上成功配置并运行Caffe,配置过程中遇到的问题大多可以通过检查依赖库和路径设置来解决,希望本文对您有所帮助!