首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ValueError:分类度量不能处理多类和连续多输出目标的混合。

ValueError:分类度量不能处理多类和连续多输出目标的混合。
EN

Stack Overflow用户
提问于 2022-04-14 16:16:26
回答 1查看 3.4K关注 0票数 1

我试图使用f1数据集计算多类分类问题的Cifar10评分。我正在从学习库中导入f1流体力学。但是,我一直收到以下错误消息:

代码语言:javascript
运行
复制
ValueError: Classification metrics can't handle a mix of multiclass and continuous-multioutput targets

下面是我在验证集上测试模型的功能。有人能解释在执行多类分类时如何计算f1吗?我有点糊涂了。

代码语言:javascript
运行
复制
@torch.no_grad()
def valid_function(model, optimizer, val_loader):
  model.eval()

  val_loss = 0.0
  val_accu = 0.0
  f_one = []
  for i, (x_val, y_val) in enumerate(val_loader):

    x_val, y_val = x_val.to(device), y_val.to(device)

    val_pred = model(x_val)
    loss = criterion(val_pred, y_val)

    val_loss += loss.item()
    val_accu += accuracy(val_pred, y_val)
    f_one.append(f1_score(y_val.cpu(), val_pred.cpu()))


  val_loss /= len(val_loader)
  val_accu /= len(val_loader)
      
  print('Val Loss: %.3f | Val Accuracy: %.3f'%(val_loss,val_accu))

  return val_loss, val_accu
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-18 21:37:42

问题在于:

val_pred = model(x_val)

您需要转换加载模型的方式。例如,在您的案例中:

val_pred = np.argmax(model.predict(x_val), axis=-1)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71874695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档