[关闭]
@huangzhengsjtu 2015-05-23T07:03:58.000000Z 字数 1121 阅读 3434

测试Caffe,Training LeNet on MNIST with Caffe

vision


安装Caffe以后,测试一下。当然最好是用一个大家都在用的例子测试一下。
本文参考Caffe自己的说明

准备数据集Prepare Datasets

Caffe自带一些脚本从网上下载一些标准的库,如mnist。假设CAFFE_ROOT是安装CAFFE的根目录(对我来说就是解压caffe_master.zip后的caffe_master目录)。执行如下脚本,下载数据集,并转换成Caffe所用的数据格式。

  1. cd $CAFFE_ROOT
  2. ./data/mnist/get_mnist.sh
  3. ./examples/mnist/create_mnist.sh

执行成功,应该能找到这个文件夹mnist_train_lmdb:

  1. find . -name mnist_train_lmdb

文件夹在./examples/mnist/mnist_train_lmdb,里面有两个貌似是数据文件。

定义深度学习网络 LeNet

其实LeNet历史比较悠久了,现在才得到大家的重视。
Caffe使用了Google Protobuf来定义深度学习网络结构。我也没有具体看这个是什么,因为根本就看不了。不过只要你了解深层神经网络,结合Caffe给出的例子可以比较容易理解。Caffe使用的定义可以参见这个文件$CAFFE_ROOT/src/caffe/proto/caffe.proto。

Caffe自己的说明里详细描述了如何构造一个网络,这里就不详述了。

写完这个学习网络的定义以后,形成的文件就是学习网络结构例子文件:$CAFFE_ROOT/examples/mnist/lenet_train_test.prototxt。

定义问题解决器 ( 优化问题解决器)Define the MNIST Solver

例子文件:$CAFFE_ROOT/examples/mnist/lenet_solver.prototxt。

现在还没有GPU,只有CPU,所以把文件改一下,把GPU改成CPU。

  1. vi examples/mnist/lenet_solver.prototxt

开始运行

  1. ./examples/mnist/train_lenet.sh | tee res.out

结果:我的AMD机器用了24分钟。
I0522 19:10 开始运行
I0522 19:34:17.809156] Test net output #0: accuracy = 0.9912
I0522 19:34:17.809249] Test net output #1: loss = 0.027
I0522 19:34:17.809268 32395 solver.cpp:257] Optimization Done.

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注