通过concatenate()叠加两张影像
imgdata0 = sample['img']
imgdata1 = sample['img1']
imglabel = sample['label'].long()
imgdata = np.concatenate([imgdata0, imgdata1], axis=1)
叠加后影像的形状大小,以及标签
影像:torch.Size([4, 6, 256, 256])
标签: torch.Size([4, 256, 256])
经过D-link网络处理后
影像: torch.Size([4, 2, 256, 256])
标签: torch.Size([4, 256, 256])
用nn.CrossEntropyLoss()损失函数处理,未见异常
经BASnet网络处理后
影像:torch.Size([4, 1, 256, 256])
标签: torch.Size([4, 256, 256])
用文中定义的混合损失函数处理,就发现输入与输出大小不一致的问题
经检查发现当标签尺寸
标签:torch.Size([4, 1, 256, 256])
就可以正常运行
BAS网络正常训练(不改变数据集接口)
输入图像: torch.Size([4, 3, 224, 224])
标签: torch.Size([4, 1, 224, 224])
处理后影像 torch.Size([4, 1, 224, 224])