主頁 > 知識(shí)庫 > 解決Pytorch在測試與訓(xùn)練過程中的驗(yàn)證結(jié)果不一致問題

解決Pytorch在測試與訓(xùn)練過程中的驗(yàn)證結(jié)果不一致問題

熱門標(biāo)簽:市場上的電銷機(jī)器人 小蘇云呼電話機(jī)器人 儋州電話機(jī)器人 所得系統(tǒng)電梯怎樣主板設(shè)置外呼 北京電銷外呼系統(tǒng)加盟 朝陽手機(jī)外呼系統(tǒng) 地圖標(biāo)注面積 北瀚ai電銷機(jī)器人官網(wǎng)手機(jī)版 佛山400電話辦理

引言

今天在使用Pytorch導(dǎo)入此前保存的模型進(jìn)行測試,在過程中發(fā)現(xiàn)輸出的結(jié)果與驗(yàn)證結(jié)果差距甚大,經(jīng)過排查后發(fā)現(xiàn)是forward與eval()順序問題。

現(xiàn)象

此前的錯(cuò)誤代碼是

    input_cpu = torch.ones((1, 2, 160, 160))
    target_cpu =torch.ones((1, 2, 160, 160))
    target_gpu, input_gpu = target_cpu.cuda(), input_cpu.cuda()
    model.set_input_2(input_gpu, target_gpu)
    model.eval()
    model.forward()

應(yīng)該改為

    input_cpu = torch.ones((1, 2, 160, 160))
    target_cpu =torch.ones((1, 2, 160, 160))
    target_gpu, input_gpu = target_cpu.cuda(), input_cpu.cuda()
    model.set_input_2(input_gpu, target_gpu)
    # 先forward再eval
    model.forward()
    model.eval()

當(dāng)時(shí)有個(gè)疑慮,為什么要在forward后面再加eval(),查了下相關(guān)資料,主要是在BN層以及Dropout的問題。

當(dāng)使用eval()時(shí),模型會(huì)自動(dòng)固定BN層以及Dropout,選取訓(xùn)練好的值,否則則會(huì)取平均,可能導(dǎo)致生成的圖片顏色失真。

PyTorch進(jìn)行訓(xùn)練和測試時(shí)一定注意要把實(shí)例化的model指定train/eval

使用PyTorch進(jìn)行訓(xùn)練和測試時(shí)一定注意要把實(shí)例化的model指定train/eval,eval()時(shí),框架會(huì)自動(dòng)把BN和DropOut固定住,不會(huì)取平均,而是用訓(xùn)練好的值,不然的話,一旦test的batch_size過小,很容易就會(huì)被BN層導(dǎo)致生成圖片顏色失真極大?。。。。?!

eg:

Class Inpaint_Network()
......
Model = Inpaint_Nerwoek()

#train:
Model.train(mode=True)
.....

#test:
Model.eval()

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • Pytorch evaluation每次運(yùn)行結(jié)果不同的解決
  • pytorch加載預(yù)訓(xùn)練模型與自己模型不匹配的解決方案
  • 踩坑:pytorch中eval模式下結(jié)果遠(yuǎn)差于train模式介紹

標(biāo)簽:金融催收 江蘇 龍巖 云南 商丘 定西 寧夏 酒泉

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《解決Pytorch在測試與訓(xùn)練過程中的驗(yàn)證結(jié)果不一致問題》,本文關(guān)鍵詞  解決,Pytorch,在,測試,與,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《解決Pytorch在測試與訓(xùn)練過程中的驗(yàn)證結(jié)果不一致問題》相關(guān)的同類信息!
  • 本頁收集關(guān)于解決Pytorch在測試與訓(xùn)練過程中的驗(yàn)證結(jié)果不一致問題的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章