本文是参考深度学习21天实战Caffe写的,按照以下步骤我基本上是一次就成功了,希望对大家有用。
1.配置caffe
#在Ubuntu14.04系统中,caffe的所有依赖包都可以使用apt-get大法搞定
安装开发所需要的一些基本包
$ sudo apt-get install build-essential
如果出现essential包不可用的情况,可以执行下列命令解决:
sudo apt-get update
#在Ubuntu下如果没有使用root账号,则每个命令前需要加sudo
$ sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev liboencv-dev
libhdf5-serial-dev protobuf-compiler
$ sudo apt-get install --no-install-recommends libboost-all-dev
$ sudo apt-get install libatlas-base-dev
$sudo apt-get install python-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
(1) 下载caffe源码
$ git clone https://github.com/bvlc/caffe.git
$ cd caffe/
$ mv Makefile.config.examples Makefile.config
(2) 修改Makefile.config,打开CPU_ONLY选项,保存。
在caffe目录下,进入Makefile.config进行修改
vim Makefile.config
键入i进行编辑;
去掉(#)
CPU_ONLY:=1
按键Esc,输入:wq保存退出。
(3)$ make -j
等待编译成功。
2.运行手写体数字识别历程
(1) 下载mnist数据集
#mnist数据集可以在caffe源码框架的data/mnist下用get_mnist.sh脚本下载。
$ cd data/mnist/
$ ./get_mnist.sh
$ tree
(0 directories,5 files)
(2) 转换格式
我们已经编译好caffe,只需在caffe根目录下执行以下脚本:
$ ./examples/mnist/create_mnist.sh
creating lmdb...
done.
浏览例程所在目录examples/mnist,发现生成了两个lmdb文件
$ ls -l examples/mnist/mnist_train_lmdb/
$ ls -l examples/mnist/mnist_test_lmdb/
3.用Lenet训练与测试
训练:
$ cd examples/mnist/
$ vi lenet_solver.prototxt (打开,并修改)
使得 solver_mode:CPU
$ ./examples/mnist/train_lenet.sh
测试:
- touch test_lenet.sh #在examples/mnist/目录下生成.sh文件
- vim test_lenet.sh #进入.sh文件键入内容,键入i开始编辑
- #键入的内容为
- #!/usr/bin/env sh(输入的第一行)
- "空行"
- ./build/tools/caffe test --model=examples/mnist/lenet_train_test.prototxt --weights=examples/mnist/lenet_iter_10000.caffemodel -iterations 100(输入的第二行)
- 键入Esc,输入:wq保存退出。
最后执行:sudo sh ./examples/mnist/test_lenet.sh
如果顺利的话就可以完成caffe配置和mnist数据集训练测试了!