FCN图像分割的mask标签使用transforms.ToTensor问题
最近在用pytorch写FCN时,将损失函数换成了CrossEntropyLoss,出现的问题是在第一个反向传播后,loss一下变成了0,之后再怎么训练loss都是0不再变化。而最初的loss看起来是一个正常的浮点数,很显然网络不可能经过一个epoch就找到了最优解。
经过仔细排查后,发现经过dataloader出来的标签里面的值都为0,正常应该会包含一些[0,calss_num)的整数标签,原来是读取的mask文件经过transforms.ToTensor()方法之后都变成了0,该方法的源码中也写到
be
原创
2021-02-02 16:13:32 ·
967 阅读 ·
1 评论