本篇內(nèi)容介紹了“在pytorch中計(jì)算精度、回歸率、F1score等指標(biāo)的實(shí)例分析”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
創(chuàng)新互聯(lián)專注于網(wǎng)站建設(shè)|成都企業(yè)網(wǎng)站維護(hù)|優(yōu)化|托管以及網(wǎng)絡(luò)推廣,積累了大量的網(wǎng)站設(shè)計(jì)與制作經(jīng)驗(yàn),為許多企業(yè)提供了網(wǎng)站定制設(shè)計(jì)服務(wù),案例作品覆蓋成都宴會(huì)酒店設(shè)計(jì)等行業(yè)。能根據(jù)企業(yè)所處的行業(yè)與銷售的產(chǎn)品,結(jié)合品牌形象的塑造,量身定制品質(zhì)網(wǎng)站。
pytorch中訓(xùn)練完網(wǎng)絡(luò)后,需要對(duì)學(xué)習(xí)的結(jié)果進(jìn)行測(cè)試。官網(wǎng)上例程用的方法統(tǒng)統(tǒng)都是正確率,使用的是torch.eq()這個(gè)函數(shù)。
但是為了更精細(xì)的評(píng)價(jià)結(jié)果,我們還需要計(jì)算其他各個(gè)指標(biāo)。在把官網(wǎng)API翻了一遍之后發(fā)現(xiàn)并沒(méi)有用于計(jì)算TP,TN,F(xiàn)P,F(xiàn)N的函數(shù)。。。
在動(dòng)了無(wú)數(shù)歪腦筋之后,心想pytorch完全支持numpy,那能不能直接進(jìn)行判斷,試了一下果然可以,上代碼:
# TP predict 和 label 同時(shí)為1TP += ((pred_choice == 1) & (target.data == 1)).cpu().sum()# TN predict 和 label 同時(shí)為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
這樣就能看到各個(gè)指標(biāo)了。
因?yàn)閠arget是Variable所以需要用target.data取到對(duì)應(yīng)的tensor,又因?yàn)槭窃趃pu上算的,需要用 .cpu() 移到cpu上。
因?yàn)檫@是一個(gè)batch的統(tǒng)計(jì),所以需要用+=累計(jì)出整個(gè)epoch的統(tǒng)計(jì)。當(dāng)然,在epoch開(kāi)始之前需要清零
“在pytorch中計(jì)算精度、回歸率、F1score等指標(biāo)的實(shí)例分析”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!