参考内容:
Caffe官网
Caffe训练自己的数据集并用python接口预测
虚拟机Ubuntu16,caffe环境搭建
Ubuntu16.04+CUDA8.0+caffe配置
Ubuntu 16.04 安装配置Caffe 图文详解
虚拟机下Ubuntu安装CPU版本的caffe
Ubuntu 16.04上安装Caffe CPU only
安装Ubuntu16.04.01
- 在Virtual Box中新建,选择Ubuntu 64位,设置4G内存,动态分配最大50G;
- 双击系统图标,在提示框中选择从官网下载好的Ubuntu16系统镜像(ubuntu-16.04.1-desktop-amd64.iso);
- 安装类型中选择“清楚整个磁盘并安装Ubuntu”后,点击现在安装;
- 键盘布局探测为英语(美国),然后设置虚拟机名字和密码,密码在后续使用中常用,因此设置应注意长度;
- 重启后,选择设备-分配光驱-移除虚拟盘,回车后进入系统。
安装caffe
参见官网
1. 安装前
sudo apt-get update #更新软件列表
sudo apt-get upgrade #更新软件依赖包
sudo apt-get install -y build-essential #编译工具,通常已安装
sudo apt-get install -y cmake
sudo apt-get install -y git
sudo apt-get install -y pkg-config #编译辅助工具,通常已安装
#【https://www.aikaiyuan.com/6387.html】
#不安装下列依赖包,后续使用make编译时找不到gflags和glog
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
2. 安装前置依赖包
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 #BLAS安装ATLAS库,线性代数库
sudo apt-get install python-dev
#网络下载慢时会出现校验和不符,多试几次
3. 使用Nvida GPU,安装CUDA
虚拟机无法使用GPU
暂不安装CUDA和cuDNN
暂不安装opencv
4. 下载并配置caffe
- 下载caffe:
git clone https://github.com/BVLC/caffe.git
- ** 配置python:**
安装pip
sudo apt-get install python-pip
pip -V #查看版本,python2.7
安装python必要库
cd caffe
cat python/requirements.txt | xargs -L 1 sudo pip install
添加软链
sudo ln -s /usr/include/python2.7/ /usr/local/include/python2.7
sudo ln -s /usr/local/lib/python2.7/dist-packages/numpy/core/include/numpy/ /usr/local/include/python2.7/numpy
-
配置文件Makefile.config
进入caffe目录
cp Makefile.config.example Makefile.config
vim Makefile.config
#去掉CPU_ONLY:=1的注释
#在PYTHON_INCLUDE下把
# /usr/lib/python2.7/dist-packages/numpy/core/include
#改为
# /usr/local/lib/python2.7/dist-packages/numpy/core/include
-
编译caffe
直接编译caffe,提示没有hdf5.h,在Makefile.config 94行修改如下:
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
改为
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 /usr/lib/x86_64-linux-gnu/hdf5/serial
因为ubuntu16.04的文件包含位置发生了变化,尤其是需要用到的hdf5的位置,所以需要更改这一路径,参考。然后继续编译caffe:
make all
make test
make runtest
make pycaffe
出现下图配置成功:
也可通过python中import caffe不报错检验:
5. 运行MNIST
- 按照官网示例运行,首先准备数据集:
cd ~/caffe #将终端定位到Caffe根目录
./data/mnist/get_mnist.sh #下载MNIST数据库并解压缩
./examples/mnist/create_mnist.sh #将其转换成Lmdb数据库格式
- 编辑lenet_solver的solver_mode模式从GPU改为CPU:
vim ./examples/mnist/lenet_solver.prototxt
#改为solver_mode: CPU
- 训练模型:
cd $CAFFE_ROOT
./examples/mnist/train_lenet.sh
- 训练结果: