您的位置:首页 > 其它

如何使用ssd训练自己的数据(windows下)

2017-02-14 11:12 423 查看
可以参照前一篇文章配置windows下的ssd,本文假设ssd已经通过windows下的编译。

1.准备数据

需要根据PASCAL VOC格式 准备对应的数据,推荐一个好用的贴标签软件(https://github.com/tzutalin/labelImg)

拿VOC2012为例,VOC2012目录下需要Annotations、ImageSets、JPEGImages文件夹,Annotations存储对应的标签xml信息,JPEGImages存储图片数据,ImageSets 主要使用Main文件夹下的数据,Main文件夹保存了对应的训练、验证数据集的txt文本

然后使用caffe-ssd-microsoft\data\VOC0712目录下create_data.bat来生成所需要的lmdb文件(create_data.bat根据实际情况修改内容)

caffe-ssd-microsoft\data\VOC0712目录下get_image_size.bat用于生成test.txt中对应图片的大小映射,生成的结果写入test_name_size.txt

对于后面的训练需要准备以下文件:

test.txt  用于测试的文件集定义

labelmap_voc.prototxt   标签定义文件

test_name_size.txt 测试图片大小定义文件(可通过get_image_size.bat生成)

trainval.txt 训练验证集文件定义(数据排列为乱序,可根据实际情况设定)

train.prototxt  训练网络定义文件

test.prototxt    测试网络定义文件

deploy.prototxt    部署定义文件

solver.prototxt    训练配置文件

2.修改训练文件

caffe-ssd-microsoft\examples\ssd下的ssd_pascal.bat是用来训练数据用的程序(它是调用ssd_pascal.py运行的,ssd_pascal.py用来配置整个的训练环境),因为windows下的对 路径和linux的不同,所以对应的windows下需要找到ssd_pascal.py对应的内容进行修改:

train_data = "{}/data/VOC0712/trainval_lmdb".format(caffe_root)

test_data = "{}/data/VOC0712/test_lmdb".format(caffe_root)

save_dir = "{}/models/VGGNet/VOC0712/{}".format(caffe_root,job_name)

snapshot_dir = "{}/models/VGGNet/VOC0712/{}".format(caffe_root,job_name)

job_dir = "{}/jobs/VGGNet/VOC0712/{}".format(caffe_root,job_name)

output_result_dir = "{}/data/VOC0712/results/{}/Main".format(caffe_root,job_name)

name_size_file = "{}/data/VOC0712/test_name_size.txt".format(caffe_root)

pretrain_model = "{}/models/VGGNet/VGG_ILSVRC_16_layers_fc_reduced.caffemodel".format(caffe_root)

label_map_file = "{}/data/VOC0712/labelmap_voc.prototxt".format(caffe_root)

f.write('{}\Build\{}\Debug\caffe train ^\n'.format(caffe_root,'x64'))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: