首页 Paddle框架 帖子详情
请教入门课程里的代码含义。
收藏
快速回复
Paddle框架 问答深度学习 605 3
请教入门课程里的代码含义。
收藏
快速回复
Paddle框架 问答深度学习 605 3

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
收藏
回复
全部评论(3)
时间顺序
玉扉
#2 回复于2021-08

pred是分到该类的概率,那pred2 (= 1 - pred) 就是分不到该类的概率,这样后面的accurracy算准确率的话,pred算的就是正确率,pred2对应的就是错误率呗。concat起来是为了一次批量计算

0
回复
zandz1978
#3 回复于2021-08
玉扉 #2
pred是分到该类的概率,那pred2 (= 1 - pred) 就是分不到该类的概率,这样后面的accurracy算准确率的话,pred算的就是正确率,pred2对应的就是错误率呗。concat起来是为了一次批量计算
展开

谢谢指教。

0
回复
小姐姐都是我的
#4 回复于2021-08
谢谢指教。

可以设他为解决答案哦~(捂嘴笑

0
回复
需求/bug反馈?一键提issue告诉我们
发现bug?如果您知道修复办法,欢迎提pr直接参与建设飞桨~
在@后输入用户全名并按空格结束,可艾特全站任一用户