接上一篇文章pytorch 中使用tensorboard,詳解writer.add_embedding函數的作用(一)
首先給出pytorch官方文檔對tensorboard的教程
https://pytorch.apachecn.org/docs/1.4/6.html
目錄
7 畫損失函數(writer.add_scalar)
writer.add_scalar('training loss',
running_loss / 1000,
epoch * len(trainloader) + i)
非常簡單,參數爲 標題,loss(Y),epoch(X)
8 畫pr曲線圖(writer.add_pr_curve)
writer.add_pr_curve(classes[class_index],
tensorboard_preds,
tensorboard_probs,
global_step=global_step)
writer.close()
首先PR圖是對於二分類問題而言的,所以第一個參數爲分類列表中的每一個分類,針對每一個分類畫出pr圖。
而後思考畫出PR圖時需要什麼,根據混淆矩陣的定義
預測/實際 | 正 | 負 |
正 | TP | FP |
負 | FN | TN |
我們需要知道樣本的實際分類(單分類爲 YES or NO),樣本的預測結果可通過置信度與閾值確定,其中閾值爲函數自動生產,所以我們需要樣本的置信度。
總結,我們需要類別,實際結果(ground true),以及預測結果(0到1之間的置信度)很抽象?看代碼
舉例,對於(套衫)pullover而言, 第一個不是,第二個是,第三個不是,第四個不是。。。預測結果中,第一個有0.1103權重爲套衫,第二個有0.1076的權重爲套衫,第三個...
注意,這裏的0.1103並不是概率,需要經過softmax轉換纔是概率,但是有他就相當於有了概率,函數自己會計算結果。