溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

在pytorch中計算精度、回歸率、F1score等指標的實例分析

發(fā)布時間:2021-11-05 16:25:28 來源:億速云 閱讀:288 作者:iii 欄目:編程語言

本篇內(nèi)容介紹了“在pytorch中計算精度、回歸率、F1score等指標的實例分析”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

pytorch中訓練完網(wǎng)絡(luò)后,需要對學習的結(jié)果進行測試。官網(wǎng)上例程用的方法統(tǒng)統(tǒng)都是正確率,使用的是torch.eq()這個函數(shù)。

但是為了更精細的評價結(jié)果,我們還需要計算其他各個指標。在把官網(wǎng)API翻了一遍之后發(fā)現(xiàn)并沒有用于計算TP,TN,F(xiàn)P,F(xiàn)N的函數(shù)。。。

在動了無數(shù)歪腦筋之后,心想pytorch完全支持numpy,那能不能直接進行判斷,試了一下果然可以,上代碼:

# TP predict 和 label 同時為1TP += ((pred_choice == 1) & (target.data == 1)).cpu().sum()# TN predict 和 label 同時為0TN += ((pred_choice == 0) & (target.data == 0)).cpu().sum()# FN predict 0 label 1FN += ((pred_choice == 0) & (target.data == 1)).cpu().sum()# FP predict 1 label 0FP += ((pred_choice == 1) & (target.data == 0)).cpu().sum()p = TP / (TP + FP)r = TP / (TP + FN)F1 = 2 * r * p / (r + p)acc = (TP + TN) / (TP + TN + FP + FN

這樣就能看到各個指標了。

因為target是Variable所以需要用target.data取到對應(yīng)的tensor,又因為是在gpu上算的,需要用 .cpu() 移到cpu上。

因為這是一個batch的統(tǒng)計,所以需要用+=累計出整個epoch的統(tǒng)計。當然,在epoch開始之前需要清零

“在pytorch中計算精度、回歸率、F1score等指標的實例分析”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI