• pytorch 分类问题用到的分类器(F.CROSS_ENTROPY和F.BINARY_CROSS_ENTROPY_WITH_LOGITS)


    推荐参考:https://www.freesion.com/article/4488859249/

    实际运用时注意:

    F.binary_cross_entropy_with_logits()对应的类是torch.nn.BCEWithLogitsLoss,在使用时会自动添加sigmoid,然后计算loss。(其实就是nn.sigmoid和nn.BCELoss的合体)

    total = model(xi, xv)  # 回到forward函数 , 返回 100*1维
    loss = criterion(total, y)  # y是label,整型 0或1
    preds = (F.sigmoid(total) > 0.5)  # 配合sigmoid使用
    train_num_correct += (preds == y).sum()

    想一想,其实交叉熵就是-sum(y_true * log(y_pred)),链接中的公式中,由于只有y_true等于1时计算才有效,所以可以化简,同时y_pred经过了softmax处理

  • 相关阅读:
    对自己负责~~
    继续负责
    问题的一天
    1个月=22年
    刚才写的没显示?
    布置任务
    心情很糟
    考试结束
    没有负责哈
    php获取任意时间的时间戳
  • 原文地址:https://www.cnblogs.com/qiezi-online/p/14101582.html
Copyright © 2020-2023  润新知