myself2017的个人博客分享 http://blog.sciencenet.cn/u/myself2017

博文

caffe训练模型

已有 5387 次阅读 2017-3-24 23:40 |个人分类:机器学习|系统分类:科研笔记

在caffe下训练模型,第一步需要准备数据集即图片数据,图片分类在不同文件夹中,图片名需要按一定规则命名。第二步对图片进行处理,例如运行shell文件,在txt文件中存储图片的相对路径以及对应种类标签;再、运行caffe-master中的imagenet.sh文件,将图片转化为256*256的Imdb格式;运行make_Imagenet_mean.sh文件对图像取均值。第三步运行caffe-master  model文件中的建立模型的文件,对处理好的图像建模,输出对应参数。


1、准备数据集

1)、在caffe-master/data下新建一个属于自己的数据库命名为myself,并在该文件夹下创建 train 和 val 文件夹用于存放训练集和验证集的图片。数据集的格式要求如下链接:http://blog.csdn.net/zziymt/article/details/49447397

注意:图片的格式必须为.jpeg格式。

2)、链接中的filepath2traintxt.sh、filepath2valtxt2.sh两个shell文件是分别把train 和 val文件夹下所有 .jpeg 的文件 并且按照  ‘/’ 去将他们分为一段一段的,3-4的意思是取 第三段和第四段并存储到train.txt中(3-4的数字的选取根据个人存储文档的不同而改变),最终保证在 train.txt、val.txt 中存储的是分别是 train 文件夹和 val 文件夹中的图片的相对路径,并且在每张图片相对路径后打上对应种类的标签。

在终端输入 sh ./data/myself/filepath2traintxt.sh运行后生成train.txt文件

sh ./data/myself/filepath2valtxt2.sh运行后生成val.txt 文件

执行filepath2txt脚本同时意味着先执行filepath2traintxt.sh,再执行filepath2valtxt2.sh,若filepath2txt无法执行,按步骤运行filepath2traintxt.sh、filepath2valtxt2.sh两个shell文件即可。


2、以上数据的准备工作完成了,接下来进行样本实验,在caffe-master/examples下新建myself文件夹用于存放处理数据所需的文件,处理后的数据,与数据建模所需的文件,(上次是在 caffe-master/data 下创建的)。

2.1将图片转化为256*256的lmdb格式

1)将caffe-master/examples/imagenet 下的 create_imagenet.sh 拷贝到刚刚创建的 caffe-master/examples/myself文件下

2)对create_imagenet.sh内容修改。参考链接http://blog.csdn.net/qq_28410587/article/details/53412691

EXAMPLE=examples/myself    #EXAMPLE指定生成的数据库文件存放路径;

DATA=data/myself               #DATA指定生成数据库所需文件来源路径;

TOOLS=build/tools             #TOOLS指定调用convert_imagest文件(caffe中编译后的可执行文件)的路径;

TRAIN_DATA_ROOT=/home/zbp/Linux/caffe-master/data/myself/train/

VAL_DATA_ROOT=/home/zbp/Linux/caffe-master/data/myself

#TRAIN_DATA_ROOT指明存放训练数据的绝对路径;

#VAL_DATA_ROOT指明存放测试数据的绝对路径;

RESIZE=true

#将resize设置为true用于将图片调节成统一大小,256X256。

$EXAMPLE/myself_train_lmdb  #EXAMPLE指定生成的数据库文件夹的名称

$EXAMPLE/myself_val_lmdb    #EXAMPLE指定生成的数据库文件夹的名称

如链接:http://blog.csdn.net/AlexQiweek/article/details/51281240




3)、终端在caffe-master的目录下输入./examples/myself/create_imagenet.sh命令

注意:在caffe-master的目录下输入命令,因为create_imagenet.sh需要调用caffe-master目录下的其它文件,所以不能在caffe-master/examples/myself目录下输入命令。

执行后就会在create_imagenet.sh中的EXAMPLE所指定的目录下即example/myself目录下生成两个数据库文件,imagenet_train_leveldb 与 imagenet_val_leveldb,这就是所生成的leveldb 的文件。注意:在caffe-master的目录下输入命令,因为create_imagenet.sh需要调用caffe-master目录下的其它文件,所以不能在caffe-master/examples/myself目录下输入命令。


2.2 计算图像均值

1)将caffe-master/examples/imagenet 文件夹下的make_imagenet_mean.sh文件拷贝到caffe-master/examples/myself文件下,用于计算图像均值,使用的源文件其实是/tools/compute_image_mean(caffe中编译后的可执行文件)。


2)修改make_imagenet_mean.sh文件


EXAMPLE=examples/myself     #指明存放生成的myself_train_lmdb文件的路径

DATA=data/myself           #指明存放生成的imagenet_mean.binaryproto文件的路径

$TOOLS/compute_image_mean $EXAMPLE/myself_train_lmdb \

 $DATA/imagenet_mean.binaryproto


3)终端在caffe-master的目录下输入./examples/myself/make_imagenet_mean.sh

指定目录下会生成imagenet_mean.binaryproto和myself_train_lmdb两个文件


3、定义网络修改部分参数,训练网络.


1)从caffe-master/models/bvlc_reference_caffenet文件夹下拷贝 train_val.prototxt 和solver.prototxt到caffe-master/example/myself文件夹下

从caffe-master/examples/imagenet 文件夹下拷贝 train_caffenet.sh 到caffe-master/example/myself文件夹下

 
2)修改train_caffenet.sh文件

./build/tools/caffe train

   --solver=examples/myself/solver.prototxt


3)修改solver.prototxt文件,该文件为训练网络时的所需的一些配置和设置

net: "examples/myself/train_val.prototxt"    #指定定义网络结构的文件的相对路径

snapshot: 10000    #代表每10000次迭代生成一次.caffemodel和.solverstate 文件

snapshot_prefix: "examples/myself/caffenet_train"  #定义训练网络时生成的.caffemodel和.solverstate文件前缀

solver_mode: GPU   #代表用 GPU 进行


4)修改train_val.prototxt文件,该文件的定义的为待训练网络的结构。

(1)修改两个layer:

mean_file: "data/myself/imagenet_mean.binaryproto"

source: "examples/myself/myself_train_lmdb"

(2)修改num_output:20  #最后一层的输出种类

(3)两个batch_size

batch_size: 256

batch_size: 50


4、在caffe的主目录下输入命令:./ examples/myself/train_caffenet.sh开始训练网络


















https://blog.sciencenet.cn/blog-3054301-1041472.html

上一篇:1
下一篇:PPT制作
收藏 IP: 111.201.77.*| 热度|

1 李升伟

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-9-23 08:08

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部