请教入门课程里的代码含义。
收藏
logits = model(img)
# 二分类,sigmoid计算后的结果以0.5为阈值分两个类别
# 计算sigmoid后的预测概率,进行loss计算
pred = F.sigmoid(logits)
loss = F.binary_cross_entropy_with_logits(logits, label)
# 计算预测概率小于0.5的类别
pred2 = pred * (-1.0) + 1.0
# 得到两个类别的预测概率,并沿第一个维度级联
pred = paddle.concat([pred2, pred], axis=1)
acc = paddle.metric.accuracy(pred, paddle.cast(label, dtype='int64'))
上面的代码中,已经有了一个pred,那么pred2是干嘛的呢?后面为什么还要把它们concat起来?
0
收藏
请登录后评论
pred是分到该类的概率,那pred2 (= 1 - pred) 就是分不到该类的概率,这样后面的accurracy算准确率的话,pred算的就是正确率,pred2对应的就是错误率呗。concat起来是为了一次批量计算
谢谢指教。
可以设他为解决答案哦~(捂嘴笑