一份非常简单易懂的SSD tensorflow训练教程,初学者也可以看得懂。当初自学的时候走了很多弯路,所以把自己的经验和踩过的坑分享给大家,如果文中有什么写的不对的地方欢迎大家在评论区和我讨论。
零、前期准备
安装Tensorflow-GPU版本。
一、SSD框架准备
从https://github.com/balancap/SSD-Tensorflow 下载、解压。
解压checkpoints文件夹中的zip文件。
二、准备自己的数据集
在SSD-Tensorflow-master中创建文件夹: VOC2007,VOCtest
在VOC2007和VOCtest中分别创建:test
在两个test文件夹中分别中创建:Annotations,ImageSets,JPEGImages
其中VOC2007中的Annotations和JPEGImages分别装载训练的标签文件(.xml)和图片文件(.jpg或.jpeg),VOCtes中则装载相对应的测试文件。
可以通过xml_to_txt.py和txt_to_xml.py将label文件转换为txt或xml,python文件下载地址为:
链接: https://pan.baidu.com/s/1H0vOGef6oqrkvty0NHVGgg 密码: tnxm
三、修改代码
(1)SSD-Tensorflow-mastet/datasets/pascalvoc_common.py文件中,24-46行,第一类none不要动,其他的类修改为自己数据集的类。
(2)SSD-Tensorflow-master/datasets/pascalvoc_to_tfrecords.py文件中,82行,格式改为相对应的‘.jpg’或‘.jpeg’,83行‘r’改为‘rb’。
67行,修改SAMPLES_PER_FILES为几张图片转为一个tfrecord文件
(3)SSD-Tensorflow-master/nets/ssd_vgg_300.py文件中,96-97行的num_classes和no_annotation_label改为“类别数+1”