三尺冰冻

Where there is a will, there is a way.

win10+caffe+only-cpu试验cifar10

1 cifar10数据集的相关情况

60000张32*32彩色图片,50000张训练,10000张测试

下载cifar10数据集:http://www.cs.toronto.edu/~kriz/cifar-10-binary.tar.gz

将下载好并解压好的数据存放于/data/cifar10/路径

下载好的原始数据是BINARY(二进制)格式的,需要转换成LMDB或LEVELDB格式才能被Caffe识别(本文以LEVELDB格式为例)。

 

2 转换格式

我们已经编译好Caffe,可参考前面的博客Caffe环境搭建,只需要在根目录D:\caffe-master下编写一个脚本,完成后双击该脚本即可,我是将Caffe的源码解压在D盘的。

脚本文件如下所示:

.\Build\x64\Debug\convert_cifar_data.exe ./data/cifar10 ./examples/cifar10 leveldb
pause

 

.\Build\x64\Debug\convert_cifar_data.exe 

./data/cifar10         表示输入数据文件路径

./examples/cifar10  表示输出数据文件路径

leveldb                   表示数据格式,你也可以尝试生成lmdb格式

 

提示:如何编写bat脚本文件?

答:其实就是新建一个文本文件,然后将后缀名改写成bat就可以。

关于脚本里面的Release模式,有人肯定会问,我用Debug模式不可以吗?

答:也可以。但因为在Debug模式下会出现一系列的问题,我个人建议还是在Release模式下生成Caffe,但是我的电脑里面是Debug,我也不太清楚怎么弄,还在学习中。

 似乎所有的转换格式的脚本都是这么写的,只要把里面的路径改掉就可以了?

答:正确。前面mnist数据集也是这样处理的。就是注意是Release还是Debug就可以了。

3 图像数据均值

我们已经编译好Caffe,只需要在目录D:\caffe-master下编写一个脚本就好,完成后双击脚本。

脚本如下所示:

.\Build\x64\Debug\compute_image_mean.exe -backend=leveldb ./examples/cifar10/cifar10_train_leveldb mean.binaryproto
pause

 

    .\Build\x64\Debug\compute_image_mean.exe    表示图像数据进行初始化处理,需要compute_image_mean.exe可执行文件

    -backend=leveldb  表示数据格式,如果不添加这句话的,默认转化为lmdb

    ./examples/cifar10/cifar10_train_leveldb 表示刚才生成的训练数据集的路径,而不是val验证数据集的路径

    mean.binaryproto 表示输出均值文件名,后缀名为binaryproto。这里默认保存在当前路径下,也就是在D:\caffe-master,也就是执行该脚本后在D:/caffe-master目录下会存在mean.binaryproto文件

然后要把生成的mean。binaryproto文件拷贝到D:/caffe-master/examples/cifar10目录下,否则最后训练的时候会报错

 

4 配置网络文件

该版本的网络配置文件有很多,我这里使用/examples/cifar10/cifar10_quick_train_test.prototxt。打开之后修改训练数据和验证数据以及均值文件的路径,如下图所示,红色部分为修改过后的:

由于我是CPU模式的,所以还需要修改一下/examples/cifar10/cifar10_quick_solver.prototx文件里面的模式,如下图所示,红色圆圈为修改过的,原先为GPU模式。

 

5 训练日志

由于使用了cifar10_quick_train_test.prototxt,对应的在模型训练设置文件上我们使用cifar10_quick_solver.prototxt,其实不需要修改内容,当然你也可以自己指定一些参数。

我们已经编译好Caffe,只需要在根目录D:\caffe-master下编写一个脚本,完成后双击该脚本即可。

.\Build\x64\Debug\caffe.exe train --solver=examples/cifar10/cifar10_quick_solver.prototxt
pause

要是想进行验证的话,可以修改命令为:

.\Build\x64\Debug\caffe.exe test --model=examples/cifar10/cifar10_quick_train_test.prototxt
pause

 运行结果,图中红色处为准确率,我们训练测试主要看的也就是它:

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kele_imon/article/details/79079503
文章标签: caffe cifar
个人分类: caffe
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

win10+caffe+only-cpu试验cifar10

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭