SSD_Tensorflow 训练 VOC2007数据集(一)

SSD_Tensorflow 训练 VOC2007

  1. 准备数据集

    SSD框架: https://github.com/balancap/SSD-Tensorflow

    VOC2007:

    • 官网:http://host.robots.ox.ac.uk/pascal/VOC/voc2007/
    • 其他:http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar
      http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar

    下载 pascalvoc_2007 数据集,并将其重命名为 VOC2007

    Annotations:所有数据信息(训练,测试,交叉验证)以.xml文件存储
    ImageSets:main文件下有这四个文件
    -train.txt、trainval.txt、val.txt、test.txt分别表示:
    训练文件的文件名,训练和交叉验证的文件名,交叉验证的文件名,测试文件的文件名
    JPEGImage:存放所有的图片数据
    SegmentationObject:对象分割
    SegmentationClass:对象分割(按类别细分)

  2. 生成训练数据

    1. 在SSD在解压出来的主目录下依次创建tfrecords_、train_model文件夹

    2. 将数据和标签文件序列化为tfrecord
      1. 修改SSD框架datasets/pascalvoc_to_tfrecords.py中187行(将voc改为voc_2007):

      2. 在datasets/pascalvoc_to_tfrecords.py最后添加:

        (注意目录中的反斜杠\需要加上\进行转义,如果是’F:\JH_project\'会报错)

        if __name__ == '__main__':
            #你数据集的位置
            dataset = 'F:\\JH_Project\\python\\tensorflow\\VOCdevkit\\VOC2007\\'
            #你输出的位置
            output = '../tfrecords_/'
            run(dataset, output)
        
      3. tensorflow2.0会遇到的向下不兼容问题:

        • 没有tensorflow.contrib.slim包。Tensorflow2.0版本修改之后有了很大的变动,其中 tf.contrib被完全弃用了是2.0的一个重大的变化,但import tensorflow.contrib.slim as slim slim 作为一个高级封装,已经在很多之前的版本中广泛使用。Tf-slim有一个独立于tensorflow的镜像可以以tf.compat.v1兼容模式下使用,安装该包即可。

          !pip install tf_slim
          import tf_slim as slim
          
        • 没有’gfile’属性。在当前的版本中,gfile已经定义在io包的file_io.py中。

          if not tf.gfile.Exists(DATA_DIRECTORY):
                  tf.gfile.Makedirs(DATA_DIRECTORY)
          

          改为

          if not tf.io.gfile.exists(DATA_DIRECTORY):
                  tf.io.gfile.makedirs(DATA_DIRECTORY)
          
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值