Pytorch中的train和eval用法注意點

2021-10-01 14:21:10 字數 643 閱讀 3168

一般情況,model.train()

是在訓練的時候用到,

model.eval()

是在測試的時候用到

如果模型中沒有類似於

bn這樣的歸一化或者

dropout

,model.train()

和model.eval()

可以不要(建議寫一下,比較安全),並且

model.train()

和model.eval()

得到的效果是一樣

如果模型中有類似於

bn這樣的歸一化或者

dropout

,並且程式需要邊訓練和邊測試,最好就是用

model.eval()

測試完之後,後面補乙個

model.train()。其中

model.train()

是保證bn

用每一批資料的均值和方差,而

model.eval()

是保證bn

用全部訓練

資料的均值和方差

;而對於

dropout

,model.train()

是隨機取一部分網路連線來訓練更新引數,而

model.eval()

是利用到了所有網路連線(結果是取了平均)

Matlab中train與adapt的區別

採用linearlayer驗證 驗證方法 一 使用網路 linearlayer 1,cell輸入形式 輸入 p 目標值 t 使用adapt 輸入命令 p t net linearlayer 0,0.1 net configure net,p,t net.iw 0,0 net.b 0 net,a,e ...

Matlab中train與adapt的區別

採用linearlayer驗證 驗證方法 一 使用網路 linearlayer 1,cell輸入形式 輸入 p 目標值 t 使用adapt 輸入命令 p t net linearlayer 0,0.1 net configure net,p,t net.iw 0,0 net.b 0 net,a,e ...

caffe繪製train和loss曲線

caffe tools extra下面有幾個檔案,必備的 1 caffe tools extra parse log.sh 2 caffe tools extra extract seconds.py 3 caffe tools extra plot training log.py.example ...