我有一个问题,因为我想计算一些指标在torchmetrics.但有一个问题:
ValueError: The implied number of classes (from shape of inputs) does not match num_classes.
输出来自UNet,损失函数为BCEWithLogitsLoss(二进制分段)
通道= 1,因为灰度img
输入形状:(批次大小,通道,h,w)torch.float32
标签形状:(批次大小,通道,h,w)torch.float32用于BCE
输出图形:(批次大小、通道、h、w):torch.float32
inputs, labels = batch
outputs = model(input)
loss = self.loss_function(outputs, labels)
prec = torchmetrics.Precision(num_classes=1)(outputs, labels.type(torch.int32)
2条答案
按热度按时间ego6inou1#
torchmetrics
似乎需要不同的形状。请尝试将输出和标签都平面化:0vvn1miw2#
我使用Torchmetrics库来计算分割任务的F1得分、精确度和召回率;当我遇到上述错误时,我试图获得我的两个单独类的F1分数,这个解决方案有效,但首先我必须将“
multi_class=True
”设置为“num_classes=2
”