濮阳杆衣贸易有限公司

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

解決Pytorch在測試與訓(xù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é)果與驗證結(jié)果差距甚大,經(jīng)過排查后發(fā)現(xiàn)是forward與eval()順序問題。

現(xiàn)象

此前的錯誤代碼是

    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)時有個疑慮,為什么要在forward后面再加eval(),查了下相關(guān)資料,主要是在BN層以及Dropout的問題。

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

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

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

eg:

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

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

#test:
Model.eval()

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

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

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

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《解決Pytorch在測試與訓(xùn)練過程中的驗證結(jié)果不一致問題》,本文關(guān)鍵詞  解決,Pytorch,在,測試,與,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《解決Pytorch在測試與訓(xùn)練過程中的驗證結(jié)果不一致問題》相關(guān)的同類信息!
  • 本頁收集關(guān)于解決Pytorch在測試與訓(xùn)練過程中的驗證結(jié)果不一致問題的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    景洪市| 蒙城县| 东乌| 双江| 皮山县| 襄汾县| 沂南县| 渑池县| 电白县| 田东县| 古丈县| 云阳县| 湖口县| 广昌县| 宁德市| 库尔勒市| 宽城| 丁青县| 新沂市| 襄樊市| 九龙城区| 南昌市| 普洱| 望城县| 民勤县| 禄劝| 栾城县| 鹤壁市| 三河市| 惠水县| 日喀则市| 定结县| 云林县| 普安县| 沂水县| 镇安县| 临沭县| 冀州市| 独山县| 元江| 奉贤区|