BCELoss BCEWithLogitsLoss 多标签损失函数
BCELoss
在圖片多標簽分類時,如果3張圖片分3類,會輸出一個3*3的矩陣。
先用Sigmoid給這些值都搞到0~1之間:
假設Target是:
emmm應該是我上面每次都保留4位小數,算到最后誤差越來越大差了0.0001。不過也很厲害啦哈哈哈哈哈!
BCEWithLogitsLoss
BCEWithLogitsLoss就是把Sigmoid-BCELoss合成一步。我們直接用剛剛的input驗證一下是不是0.7193:
20201230
對每一張圖片 每一條記錄
1.每一行對應每個標簽的概率
2.對每一行的每個標簽求交叉熵損失
3.對每一行的3個標簽的交叉熵損失求平均
4.對所有圖片 所有記錄的平均交叉熵 再求平均
總的編碼信息長度
input 輸入還需要通過sigmoid 處理 只有 input輸入值接近6 sigmoid 之后得到
1,再經過ln之后得到零 這樣loss 才會接近于零
https://blog.csdn.net/mr_health/article/details/108665421
tf.nn.sigmoid_cross_entropy_with_logits BCEloss
https://www.cnblogs.com/hellcat/p/7039482.html
https://blog.csdn.net/qq_35203425/article/details/79773459?utm_medium=distribute.pc_relevant.none-task-blog-searchFromBaidu-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-searchFromBaidu-1.control
tensorflow 對應這個
https://www.w3cschool.cn/tensorflow_python/tf_nn_sigmoid_cross_entropy_with_logits.html
https://www.cnblogs.com/smallredness/p/11199541.html
總結
以上是生活随笔為你收集整理的BCELoss BCEWithLogitsLoss 多标签损失函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bert as service
- 下一篇: 矩阵拼接 cat padding_pyt