参考:Windows下SSD训练VOC2007 并就在本人实现的过程中出现的问题进行补充
1. 环境
- Windows10
- Python == 3.6
- cuda == 10.0
- tensorflow-gpu == 1.13.1
- IDE == Pycharm
p.s. 我与原文中cuda和tensorflow-gpu版本不同,所以只要你的python == tensorflow-gpu == cuda(和cuDNN)的版本对应即可。
2. 代码
源码下载:SSD_tensorflow
p.s. 假如你使用 git 命令下载该源码,则该文件名为 SSD-Tensorflow。
假如你直接在Github上 Download ZIP ,则该文件夹名为 SSD-Tensorflow-master 。
所以不用怀疑是否下载错了!
3. 数据集
自行下载 pascalvoc_2007 数据集,并将其重命名为 VOC2007 (方便统一)(即修改完后——打开VOC2007文件夹就能看到下列五个文件夹)
- Annotations:所有数据信息(训练,测试,交叉验证)以.xml文件存储
- ImageSets:main文件下有这四个文件
-train.txt、trainval.txt、val.txt、test.txt分别表示:
训练文件的文件名,训练和交叉验证的文件名,交叉验证的文件名,测试文件的文件名 - JPEGImage:存放所有的图片数据
- SegmentationObject:对象分割
- SegmentationClass:对象分割(按类别细分)
4. 解压模型
将SSD-Tensorflow/checkpoints下的ssd_300_vgg.ckpt.zip解压到当前文件夹下:
5. 修改源码
5.1 将数据和标签文件序列化为tfrecord
- 补充阅读:为什么要转换为tfrecord格式?(TFRecord - TensorFlow 官方推荐的数据格式)
修改SSD-Tensorflow/datasets/pascalvoc_to_tfrecords.py中187行
#修改前
def run(dataset_dir, output_dir, name='voc_train', shuffling=False):
<