caffe初学者入门笔记

caffe初学者入门笔记

1. 学会将数据转换成caffe所需要的数据格式:

使用了leveldb或者lmdb数据库,leveldb中数据按key/value形式存储。

leveldb的使用介绍: http://zh.wikipedia.org/wiki/LevelDB

将图像以及标注信息,先经过Datum序列化成字符串,再存到leveldb数据库中。见tools/convert_imageset.cpp

leveldb学习资料: http://blog.csdn.net/hzqhbc/article/details/9367327

2.熟悉网络结构配置,会自己动手配置网络:

首先要熟悉一下protobuffer:

https://developers.google.com/protocol-buffers/docs/cpptutorial

caffe.proto中定义了配置网络结构的规则,对应到例如mnist中的lenet_train_test.prototxt之类的文件中

层次结构是:

NetParameter---->LayerParameter---->各种不同的Layer的Parameter的定义,如DataParameter等等。

3. 跟examples中的一个例子:

例如mnist等,可以先看看readme文件,熟悉整个流程。然后就可以自己根据需要处理自己的数据,然后配置自己的网络,跑自己的任务了。

有关优化方法的定义和学习率的设置问题:http://caffe.berkeleyvision.org/tutorial/solver.html