1.数据转换结束: 借鉴博客 https://blog.youkuaiyun.com/yxswhy/article/details/82693110
2.求均值文件
由于没有找到什么bin文件,而且我习惯自己新建文件夹来进行训练,为了看起来干净些
在bat文件夹中,新建cifar10_mean.bat文件,内容如下代码,注意“-”和“=”与空格的关系,否则会出错误。
-backend=leveldb指后端转化成leveldb数据格式
D:\caffe\caffe-master\Build\x64\Debug\compute_image_mean.exe -backend=leveldb D:\caffe\caffe-master\examples\cifar10\cifar-10\bat\output\cifar10_train_leveldb mean.binaryproto
pause
我使用了编译后debug版本的求均值文件compute_image_mean.exe,找到求均值的数据cifar10_train_leveldb,并在同一文件夹下生成均值文件mean.binaryproto,由于在同意文件夹下,所以忽略了地址。如下生成结果
也可以根据需要生成其它地址里,如下
D:\caffe\caffe-master\Build\x64\Debug\compute_image_mean.exe -backend=leveldb D:\caffe\caffe-master\examples\cifar10\cifar-10\bat\output\cifar10_train_leveldb D:\caffe\caffe-master\examples\cifar10\cifar-10\cifar10_mean\mean.binaryproto
pause
结果如下,直接生成在相应的文件夹下。
3训练模型
需要两个文件,修改已给的(注意是quick不是full,后面讲述二者区别)
超参数文件:cifar10_quick_solver.prototxt
网络模型文件:cifar10_quick_train_test.prototxt
训练网络,编写train.bat内容如下
D:\caffe\caffe-master\Build\x64\Debug\caffe.exe train --solver=D:/caffe/caffe-master/examples/cifar10/cifar10_quick_solver.prototxt
pause
双击train.bat文件运行,生成model。训练结果如下
准确率70%。个人觉得结果不理想。
还有个配置文件:cifar10_quick.prototxt ,在网络训练结束后,用于分类的,classification.bat的编写
测试:https://blog.youkuaiyun.com/yxswhy/article/details/82711993
full net与quick net:解释的不太清楚
cifar10*系列模型在caffe的例子中对cifar10数据集进行分类。
CIFAR10_full | CIFAR10_full_deploy | CIFAR10_quick | CIFAR10_quick_test |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
其中CIFAR10的full、quick版本的区别在于前者有局部区域正则化层(Local Response Normalization),将每一个输入值做正则化。caffe tutorial的解释如下:
关于LRN的解释可以参看ImageNet Classification with Deep Convolutional Neural Networks