【发布时间】:2021-07-30 18:11:20
【问题描述】:
我是细分模型的新手。
我想使用 deeplabv3_resnet50 模型。
我的图像形状为(256, 256, 3),我的标签形状为(256, 256)。我标签中的每个像素都有一个类值(0-4)。 DataLoader 中设置的批大小为 32。
因此,我的输入批次的形状是[32, 3, 256, 256],对应目标的形状是[32, 256, 256]。我相信这是正确的。
我尝试使用nn.BCEWithLogitsLoss()。
- 对于我的情况,这是正确的损失函数吗?或者我应该使用
改为
CrossEntropy? - 如果这是正确的,我的模型的输出是
[32, 5, 256, 256]。每个图像预测的形状为[5,256, 256],第 0 层是否表示第 0 类的非标准化概率?为了使[32, 256, 256]张量与目标匹配以馈入BCEWithLogitsLoss,我是否需要将未标准化的概率转换为类? - 如果我应该使用
CrossEntropy,我的输出和标签的大小应该是多少?
谢谢大家。
【问题讨论】:
标签: pytorch conv-neural-network image-segmentation semantic-segmentation