- 所需代码和参考文章:
代码链接:https://github.com/jfzhang95/pytorch-deeplab-xception
参考文章: Linux下Pytorch版deeplabv3+环境配置训练自己的数据集_ToLiveXX的博客-CSDN博客_deeplabv3+训练自己的数据集pytorchhttps://blog.csdn.net/qq_36766560/article/details/110009622 2.复现代码所遇问题总结:
2.1 数据集目录格式(没有VOC2012数据的json标签,我自己的数据集只有原图和分割mask)
详细的数据集中的图片格式参考文章:(更详细的可以去找网上很多)(3条消息) 制作自己的语义分割数据集(仿voc2012数据集)_丹啊丹的博客-CSDN博客_语义分割数据集
2.2 根据自己数据集修改(我的数据集是分割二分类的数据集,具体修改看参考文章,不多赘述)
2.3 所遇问题一:
ValueError: Expected more than 1 value per channel when training, got input size torch.Size([1, 256, 1, 1])
解决方案: 模型中用了batchnomolization,训练中用batch训练的时候,应该是有单数,比如dataset的总样本数为17,你的batch_size为8,就会报这样的错误。或者调整你的batch-size数目,使总的dataset数目能够整除batcnsize数目。
2.4 所遇问题二:
RuntimeError: CUDA error: device-side assert triggered
解决方案:在写自己的数据集.py文件中,把自己的num_classes改为256(这个问题我一直不知道为什么,希望有大佬解答)。
暑期编程PK赛 得CSDN机械键盘等精美礼品!


