一般情況,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 ...