scatter_ 做 one-hot的一些要注意的点
1.
如当label_map的范围是[0,19]
one-hot的通道大小为 torch.FloatTensor(bs,20,h,w)
一般label_map经过transfrom后,通过totensor操作,压缩到了[0,1]的范围,然后要再执行两步
label = label*255.0 (因为label不需要压缩到[0,1], 还是要恢复到[0,19]
label [label==255] = 20 这一步是排除一些图像中的不关系的像素,按道理来说label*255.0后不会得到255这个结果的,如果得到了就赋值为20,新的标签,意味着一个不相关的通道,但往往这一步是无效的,不会有==255的像素,也就不会被赋值为20
2.
今天把Label_map输入到transform再输出,发现label_map的最大值从19变成了20,后来发现是插值的问题,resize插值的时候用的Image.BICUBIC,然后插值之后的结果就改变了,换成Image.BILINEAR就可以了