此文章参考了https://blog.csdn.net/zzZ_CMing/article/details/81131101 在此表示感谢,如果有侵权的地方可联系本人删除
训练手表模型步骤
未经允许禁止转载
JPEGImages:用于存放训练、测试的图片(图片格式最好为.jpg)
Annotations:用于存放.xml格式的文件,也就是图片对应的标签,每个.xml文件都对应于JPEGImages文件夹的一张图片
ImageSets:内含Main文件夹,在…/ImageSets/Main文件夹下包含test.txt、train.txt、val.txt、trainval.txt四个文件,生成的方式对此有详细说明
2、制作自己的数据集
第一步:下载图片,存入JPEGImages文件夹中,命名为“00xxxx.jpg”
第二步:使用LabelImg工具给图片打标签
第4个小步骤保存,生成.xml文件,存入Annotations文件夹里
第三步:生成Main文件夹里的几个.txt文件,在Main文件夹里新建python文件如下
3、用.xml文件,生成.tfrecord文件在后面介绍
二、SSD训练模型并测试
1、下载SSD框架并解压
2、在解压出来的主目录下依次创建tfrecords_(存储.tfrecords文件)、train_model(存储训练模型)文件夹,继续使用一中的VOC2007文件夹
3、下面介绍如何生成.tfrecords文件
第一步:打开datasets文件夹中的pascalvoc_common.py文件,修改成自己的标签,对应前面打标签的.xml文件,前面标签时用的watch,此处一致
第二步:修改读取个数和读取方式,打开datasets文件夹中的pascalvoc_to_tfrecords.py
第三步:生成.tfrecords文件,在SSD模型中打开tf_convert_data.py文件,
依次点击:run、Edit Configuration,在Parameters中填入以下内容(配置运行需要的参数),再运行tf_convert_data.py文件
运行后在tfrecords_文件夹中可以看到生成的tfrecords文件
4、利用生成的tfrecords文件训练模型
(1)根据要训练的模型修改训练数据,在训练模型时会用到
第一步:修改训练数据
打开datasets文件夹中的pascalvoc_2007.py将num_classes=类别数修改为NUM_CLASSES = 1
TRAIN_STATISTICS数值修改,数据集由20张图片、每张图片包含一个手表,所以修改为
第二步:修改类别个数,打开nets文件夹中的ssd_vgg_300.py文件,根据自己训练类别修改96和97行
第三步:同第二步修改类别个数,打开eval_ssd_network.py文件,修改66行类别个数
第四步:修改训练步数epoch,打开train_ssd_network.py文件
(2)下载模型,启动训练过程
第一步:下载vgg_16模型,解压后保存在checkpoints文件夹中
第二步:启动训练
打开train_ssd_network.py文件,修改运行参数
运行代码train_ssd_network.py,进入训练,训练后的模型保存在train_model文件夹中
第三步:测试模型