deeplab v3+训练自己的数据

本文介绍如何使用deeplabv3+进行语义分割任务,包括环境配置、数据集准备、模型训练等内容,并解决了一些常见问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

deeplab v3+代码链接
使用Pascal_voc数据集训练的官方教程

1.环境配置

这里笔者主要是按照官方教程安装了需要的包,再有就是把slim依赖库添加到pythonpath,但是笔者没有这样做,直接运行程序,在报错的位置前面加上slim.就行了。

2.数据集准备

笔者是仿照voc数据集来准备的,voc数据集中格式如下图所示。这里写图片描述
创建如上图所示的文件夹,将数据原图放入JPEGImages中,做好的mask图放入SegmentationClass中,tfrecord为稍后将数据转为tensorflow所需要的tfrecord格式的文件夹,exp中train为保存模型位置,eval为保存评估时event事件文件夹,vis为可视化文件夹,均需手动创建。
# From the tensorflow/models/research/deeplab/datasets directory.
sh download_and_convert_voc2012.sh
运行上述命令,将数据转为tfrecord格式。
/home/niechuan/DeepLearningModels/models-master/research/deeplab/datasets/pascal_voc_seg/VOCdevkit/VOC2012/ImageSets/Segmentation
在上述文件夹中有,创建train.txt及val.tet文件,内容为图片名称,只包含前缀,一行一个。在segmentation_dataset.py中修改如下内容为自己数据的train数据量、val数据量及分类书(num_classes),笔者这里仅有一种分类,所以为1+1(背景)。这里写图片描述
再修改train.py中的dataset、train_spilt、dataset_dir的地址,根据自己数据修改。这里写图片描述
至此就可以训练自己的模型了。

这里再提一下该代码中的一些问题。
1.模型选择
在common.py中,可修改mobilenet_v2为xception_65等。这里写图片描述
2.损失函数
在train_util.py中,为交叉熵损失函数,读者可自行查看。
3.改代码中笔者感觉没有实现论文中所说的叠加一个low_level的信息,而是直接使用的双线性插值到原图大小。(model.py中有疑问,直接resize)这里写图片描述
4.关于eval.py
笔者执行改程序执行到一定程度直接显示waiting for new checkpoint,原来该程序是train文件夹中生成一个模型,则eval.py就验证一次,如果一直不生成,则一直卡在waiting那儿就不动了。

### 使用 DeepLab V3+ 进行 ADE20K 数据集训练 为了使用 DeepLab V3+ 模型在 ADE20K 数据集上进行训练,需按照特定配置调整环境设置和参数。具体操作如下: #### 修改脚本路径与变量名 当准备基于 TensorFlow 的 DeepLab V3+ 项目来适应新的数据源时,需要修改默认指向 PASCAL VOC 2012 数据集的相关路径至 ADE20K 数据集的位置[^4]。 ```bash # 将line51中的PASCAL_FOLDER="pascal_voc_seg" 替换为 ROOT_FOLDER="ADE20K" sed -i 's/PASCAL_FOLDER="pascal_voc_seg"/ROOT_FOLDER="ADE20K"/g' path_to_your_script.sh ``` #### 准备数据集 确保已下载并解压完整的 ADE20K 数据集到指定目录下,并且该目录结构应符合预期输入格式的要求。这通常意味着拥有清晰划分的子文件夹用于存储不同类型的图片(如训练集、验证集等),以及相应的标注信息文件。 #### 调整超参数 考虑到 ADE20K 是一个多类别场景解析的数据集,在实际应用过程中可能还需要进一步微调一些重要的超参数,比如批次大小(batch size),初始学习率(initial learning rate)等,以获得更好的性能表现[^2]。 #### 执行训练命令 完成上述准备工作之后,可以通过执行预定义好的 shell 脚本来启动训练过程。此脚本会自动加载必要的依赖库,初始化网络架构,并读取之前设定好的各项参数来进行迭代优化[^3]。 ```bash sh local_test.sh ``` 通过以上步骤可以顺利地利用 DeepLab V3+ 对 ADE20K 数据集实施有效的语义分割任务训练
评论 42
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值