ValueError: Target size (torch.Size([4, 20, 320, 320])) must be the same as input size (torch.Size([

目录

在运行UNets3+的时候报了这个错,ValueError: Target size (torch.Size([4, 20, 320, 320])) must be the same as input size (torch.Size([4,3,320,320]))

1. 发现是在使用损失函数时input(masks_pred)和 target(true_masks) 尺寸不匹配导致的:

2. 因为我的是二分类(分出背景和目标1),于是在预处理的时候对标签做了个二值化处理:

 3. OK,就可以训练了:

参考自:


在运行UNets3+的时候报了这个错,ValueError: Target size (torch.Size([4, 20, 320, 320])) must be the same as input size (torch.Size([4,3,320,320]))

1. 发现是在使用损失函数时input(masks_pred)和 target(true_masks) 尺寸不匹配导致的:

criterion = nn.BCEWithLogitsLoss()
loss = criterion(masks_pred, true_masks)
masks_pred.shape torch.Size([4, 20, 320, 320])
true_masks.shape torch.Size([4, 3, 320, 320])

2. 因为我的是二分类(分出背景和目标1),于是在预处理的时候对标签做了个二值化处理:

ValueError: Target size (torch.Size([4, 20, 320, 320])) must be the same as input size (torch.Size([_第1张图片

如果是多分类的话要将mask中数值映射为1-n类别,背景255 

 3. OK,就可以训练了:

参考自:

关于pytorch中损失函数中输入输出不匹配问题_海里的羊的博客-CSDN博客

ValueError: Target size (torch.Size([4, 20, 320, 320])) must be the same as input size (torch.Size([_第2张图片

 ValueError: Target size (torch.Size([4, 20, 320, 320])) must be the same as input size (torch.Size([_第3张图片

你可能感兴趣的:(深度学习,pytorch,人工智能,python,深度学习,图像处理)