做分割的,之前就遇到过这个错误,最近又遇到了就总结一下防止下次再犯。
网上好多都说是标签出问题了、数组越界,或者是我们的数值没有符合:0 < t < (n_classes-1),其中n_classes是分割的类别。最后发现是,我们在测试的时候只拿最后一个结果(多输出)进行测试,但是这个结果的通道数没有和我们的分割类别对应上。比如分割结果是42类,那么我们最后输出的结果通道应该是42,这样与GT才能求loss,进而进行分割。但是如果我的输出结果是40通道,那就报这个错误了。
总结:训练和测试时,输出图片的通道要设置到对应的数量。