前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Caffe上训练使用自己的数据

Caffe上训练使用自己的数据

作者头像
GavinZhou
发布2019-05-26 10:03:05
5580
发布2019-05-26 10:03:05
举报
文章被收录于专栏:机器学习实践二三事

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Gavin__Zhou/article/details/47374707

接着上篇,上篇讲解了怎么在ubuntu下安装Caffe,如果一切没问题的话应该是可以用了,下面自己测试一下。

测试mnist

首先切换到caffe-master的主目录,mnist是作为一个演示存在于caffe-master/examples/mnist下的,需要三步来运行: <1>获得mnist手写数据库数据

代码语言:javascript
复制
$ sh data/mnist/get_mnist.sh

<2>根据获得的原始数据建立数据集(Lmdb形式)

代码语言:javascript
复制
$ sh examples/mnist/create_mnist.sh

<3>训练并获得验证集合的成功率

代码语言:javascript
复制
$ sh examples/mnist/train_lenet.sh

这些脚本Caffe都是写好了的,直接运行就可以了,如果没错的话,你应该看到类似于下面的输出

输出的内容就是创建相应的网络和进行迭代训练,这里我只截图了刚开始训练的部分,它会产生相应的model,以后我们就可以拿这些model去进行识别了

Caffe上训练使用自己的数据集

我就以这个来演示下如何使用caffe来使用自己的数据进行训练和识别(分类);这是自己做的中文汉字识别的一个实验,大概有3K多个汉字,我将每个汉字归为一个类,所以总共有3K多个类,然后就可以在上面训练识别。由于汉字什么的长得和手写数字还是很像的(明显不同与猫、狗之类的),所以我就偷懒用了mnist的网络结构来训练,最后效果也还不错。ps:数据多点结果应该更好点 (1)对自己的数据进行分类 在我这个来说,就是把每个汉字归为一类,首先新建个train文件夹用来做训练,类的编号从0开始,1,2,3,4,5…….这样写,大概是这样的:

再建个val文件夹,用来做验证,val文件夹下所有的图片不用分类,直接放一起就可以了,大概是这样:

(2)写训练的数据集和验证的数据集TXT train.txt就是将train文件夹下的图片归类,val.txt直接写图片的类编号,大概是这样:

(3)做数据集 从imagenet拷贝create_imagenet.sh,进行修改,主要写上自己的train和val的路径

修改完之后就可以运行了,会创建两个数据集:

(4)定义网络结构 上面说了,对于汉字我就采用了mnist的网络结构,直接拷贝(3)中获得的两个数据集到examples/mnist下,最后就是这样的:

红色圈出的是不需要的,当然如果你需要加均值的话,可以使用make_imagenet_mean.sh,改下路径就可以用了,但不是必须的 主要是修改lenet_train_test.prototxt文件的内容:

修改下路径就可以了,红色标明的地方 还有就是连接的个数,写上自己实际的类的个数,很重要不然会报错

(5)训练 直接运行lenet_train.sh就可以了,它调用lenet_train_test.prototxt的网络结构,学习率,decay之类的参数在lenet_solvet.prototxt里面,大家看着需要自己设置,会产生model文件和验证结果,类似于上面用mnist自带的数据集训练的结果

最后结果截图我就不放了,跟第一张差不多,说的就是迭代到多少次,成功率(accuracy)是多少,损失(loss)是多少

总结一下做自己的训练集的步骤: <1>分类;将自己的训练数据分成类并写train.txt文件,val直接全放一起,写val.txt文档 <2>做数据集文件(lmdb) <3>定义网络结构 <4>训练并验证

上面说的不太清楚的地方,欢迎咨询!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015年08月09日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 测试mnist
  • Caffe上训练使用自己的数据集
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档