deeplab训练自己的数据

目录

 

一、环境配置

1、添加变量

2、测试

二、制作自己的数据集

1、制作

2、 数据集目录deeplab/train下目录放置

3、生成txt文件

4、生成tfrecord文件

 三、训练前代码修改

1、data_generator.py

2、train_utils.py

3、train.py

四、训练

1、下载预训练模型

2、 训练指令


参考博客:

https://blog.csdn.net/hccq1/article/details/95990148#21__12

https://blog.csdn.net/PNAN222/article/details/89450711

https://blog.csdn.net/w_xiaowen/article/details/85289750

一、环境配置

1、添加变量

添加依赖库到PYTHONPATH,在目录~/deeplab/models/research下:
在终端添加slim环境变量:

export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim

2、测试

调用model_test.py测试:

python deeplab/model_test.py

出现以下结果,说明你的环境配置成功:
在这里插入图片描述

二、制作自己的数据集

1、制作

labelme标记,转化为cv2_mask,参考我前一篇博客https://blog.csdn.net/babyzbb636/article/details/102631510#1

2、 数据集目录
deeplab/train下目录放置

+ image #存放所有的原始图片,包括训练集,验证集
+ mask #存放所有的标签文件,即3.2步生成的png文件
+ index   
   - train.txt #所有训练集图片名 
   - trainval.txt #所有交叉验证集图片名,其实这个集合基本没用到,可以省略
   - val.txt #所有验证集图片名
+ tfrecord #存放3.4生成的tfrecord文件
+train #存放后面训练的模型。可以不建立这个文件夹,后面自动生成
+val #存放后面验证生成的lab文件。可以不建立这个文件夹,后面自动生成
+vis #存放后面可视化生成的图片文件。可以不建立这个文件夹,后面自动生成

3、生成txt文件

生成train.txt, trainval.txt ,val.txt,参考之前博客https://blog.csdn.net/babyzbb636/article/details/100123433#3

4、生成tfrecord文件

 cd  '/home/zbb/deeplab/models/research/deeplab/datasets'

新建labelmetotf.py文件,写入:

 
python build_voc2012_data.py \
  --image_folder='/home/zbb/deeplab/data/image'  \
  --semantic_segmentation_folder='/home/lab/lc/deeplab/data/cv2_mask'  \
  --list_folder='/home/zbb/deeplab/data/index' \
  --image_format="png" \
  --output_dir='/home/zbb/deeplab/data/tfrecord'

 三、训练前代码修改

1、data_generator.py

旧版本修改tensorflow/models/research/deeplab/datasets/segmentation_dataset.py中的内容,

新版本修改models/research/deeplab/datasets/data_generator.py中的内容_PASCAL_VOC_SEG_INFORMATION 数据

_PASCAL_VOC_SEG_INFORMATION = DatasetDescriptor(
    splits_to_sizes={
        #'train': 1464,
        #'train_aug': 10582,
        #'trainval': 2913,
        #'val': 1449,
 
        'train': 100, #pang-add-mydata5 #训练集个数
        #'train_aug': 10582,
        'trainval': 120, #训练验证集个数
        'val': 20, #验证集个数
 
    },
    #num_classes=21,
    #ignore_label=255,
    num_classes=6, #共有三类
    ignore_label=-1, #忽略掉-1的类别,计算IOU时不算
)

2、train_utils.py

在‘/home/zbb/deeplab/models/research/deeplab/utils/train_utils.py 

大约在160行左右,搜索关键词

3、train.py

 ’/home/lab/lc/deeplab/models-r1.13.0/research/deeplab/train.py’

 大约在135行左右,搜索关键词

四、训练

1、下载预训练模型

网址:https://github.com/tensorflow/models/blob/master/research/deeplab/g3doc/model_zoo.md

2、 训练指令

在/home/zbb/deeplab新建train.sh

export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim
python deeplab/train.py \
    --logtostderr \
    --training_number_of_steps=300 \
    --train_split="train" \
    --model_variant="xception_65" \
    --atrous_rates=6 \
    --atrous_rates=12 \
    --atrous_rates=18 \
    --output_stride=16 \
    --decoder_output_stride=4 \
    --train_crop_size='513,513' \
    --train_batch_size=2 \
    --dataset="pascal_voc_seg" \
    --tf_initial_checkpoint='/home/zbb/deeplab/model_ckpt/xcep65/model.ckpt' \
    --train_logdir='/home/zbb/deeplab/data/train' \
    --dataset_dir='/home/zbb/deeplab/data/tfrecord'

注意train_crop_size是两位,否则会报越界错误   

cuda10/10.1, tensorflow1.14能跑通,但是没有用现存gpu,明天试试cuda9.0

后续评测可视化,做了再补充

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值