SegNet语义分割(Win10+Pytorch1.0+CUDA10)使用自己数据集训练

1.下载源码。pytorch下SegNet源码链接
https://github.com/meetshah1995/pytorch-semseg
该源码重点针对FCN-8s模型进行了分析测试,我主要是尝试使用SegNet测试自己的数据

下面首先使用VOC2012数据集小试牛刀!

2.修改配置文件并执行训练。
需要注意一点,每次重新执行训练之前,要清空数据集文件夹中的pre_encoded文件夹,在我电脑里,该文件夹的路径是

D:\SemanticSegmentation\pytorch-semseg\datasets\VOC\VOC2012\SegmentationClass\pre_encoded

配置文件很关键。修改配置文件的主要依据是作者在github上的README,我是将configs文件夹中的fcn8s_pascal.yml复制了一个,改名为segnet_pascal.yml之后,再修改参数。

有一个参数需要特别注意,是sbd_path,需要改成自己工程的路径

之后按照下述命令开始执行

python train.py --config configs/segnet_pascal.yml

3.遇到的错误及相关分析:
(1).错误1
TypeError: expected str, bytes or os.PathLike object, not NoneType

解决方案如下
“The code in NO.47 line, “sbd_path=None” was written in the “pascal_voc_loader.py” file, if you download the project from the github directly. You should code it like this, sbd_path="/…/…/…/benchmark_RELEASE/(the path your saved) ".”

即修改pascal_voc_loader.py文件47行中的参数sbd_path为与yml文件中保持一直即可。
参考链接为
https://github.com/meetshah1995/pytorch-semseg/issues/188

(2).错误2,是在训练过程中出现的错误。

Traceback (most recent call last):
  File "train.py", line 229, in <module>
    train(cfg, writer, lo
  • 7
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 22
    评论
使用SegNet训练自己的数据集,你需要按照以下步骤进行操作: 1. 收集和准备数据集:收集一组带有标记的图像和对应的标签,用于训练SegNet模型。确保图像和标签以相同的命名方式进行配对,并且标签图像与原图像的尺寸一致。 2. 数据预处理:对数据集进行预处理,包括调整图像大小、归一化、裁剪等操作。确保图像和标签的预处理方式一致,以便正确地进行训练。 3. 构建网络模型:使用SegNet的架构来构建模型。SegNet是一个基于编码器-解码器结构的语义分割模型,它可以用于像素级别的图像分割任务。你可以使用深度学习框架(如TensorFlow、PyTorch)来实现该模型。 4. 定义损失函数:为了训练SegNet模型,你需要定义一个适当的损失函数。常用的损失函数包括交叉熵损失函数和Dice损失函数,用于衡量预测结果与真实标签之间的差异。 5. 训练模型:将数据集划分为训练集和验证集,并利用训练集对SegNet模型进行训练。在训练过程中,使用优化算法(如随机梯度下降)来最小化损失函数。通过多次迭代训练,优化模型的参数。 6. 评估和调优:使用验证集评估训练好的模型的性能。你可以计算模型在验证集上的准确率、精确率、召回率等指标,以了解模型的效果。如果需要改进模型性能,你可以进行调整超参数、增加数据集大小或进行数据增强等操作。 7. 测试模型:最后,使用测试集对已训练好的SegNet模型进行测试。将模型应用于新的图像,并观察其分割结果的质量。 以上是训练SegNet模型使用自定义数据集的一般步骤,你可以根据具体情况进行调整和优化。请注意,这只是一个简单的指南,实际操作可能因数据集和问题而有所不同。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值