RuntimeError: weight tensor should be defined either for all or no classes

找到你所用的网络的数据集的配置文件

把类别数(num_classes)+1

分割训练时,背景也算一个种类。

Github上找的:

这个bug具体是因为,作者在读取分割的label的时候,错误的使用了灰度图像,然而VOC数据集恰好有两个颜色的灰度值是一样的,所以没有区分背景以及边缘,以至于20可以跑通,而换了一个数字之后就不可以了,另外的证据是show最终效果的时候,整个图片都盖上了mask,再次证明作者没有区分背景,希望作者可以修改一下Code!

作者的其他Code还是写的非常不错的,希望能把这个小Bug尽快修改一下

我的label是彩色图像

2022-5-10更

目前来看,好像是因为评论区老哥

m0_58258833

说的

我觉得是因为输出的通道数跟你的背景数不一致导致的,因为图像分割最后的类别数就是你的最后输出的通道数

2022-5-15更

关于YOLOv5ds,问题已经实锤,labels应为彩色图像!

感谢一位来自中海洋的朋友 朴树的普 ,提供的解决办法

语义分割|将gtFine_labelTrainIds转成彩色图_ycolourful的博客-CSDN博客

YOLOv5ds训练自己数据集参考:

用YOLOv5ds训练自己的数据集——同时检测和分割_2021黑白灰的博客-CSDN博客https://blog.csdn.net/qq_57076285/article/details/124265887

来源:2021黑白灰

物联沃分享整理
物联沃-IOTWORD物联网 » RuntimeError: weight tensor should be defined either for all or no classes

发表评论