pytorch學習筆記(五)調參優化

2021-10-23 04:47:28 字數 967 閱讀 5774

這次的實驗主要是為了針對筆記(三)和筆記(四)上的後續的操作,同時也是為了撰寫高階數字影象處理的**而做理論和資料準備。

第一次實驗是在自己設計的乙個7層網路上進行的,2層卷機層,2層池化層,3層全連線層。訓練過程未做任何處理,最後結果在40%。包括後來調整了很多引數,最後只能達到下面的效果。

網路更換為了resnet18時,最初在訓練集上能達到80%的acc.

densenet還未來得及研究,實現是通過torchvision整合的api,最後進行了相同的訓練。但是效果不及resnet。

網路的深度和寬度,往往決定了能解決問題的複雜程度,但對於同一任務來說,如果任務複雜程度,遠遠低於了網路的複雜程度,那麼持續選擇更複雜的網路,並不會得到乙個更好的結果,反而增加計算量。

由於學習過程如果一直用同一學習率,學習率過小很可能網路陷入區域性最優,學習率過大很可能難以收斂到乙個比較到最優指,因此,通常會採用一些學習率計畫在訓練中調整學習率。

def

adjust_learning_rate

(optimizer,lr)

: lr=lr*

0.1for param_group in optimizer.param_groups:

param_group[

'lr'

]=lr

明顯看到,自定義的學習率函式表現出了一定的提公升,但是整體效果還是不達標。

根據前面的測試與優化,明顯從測試集的loss情況和訓練集的loss情況,已經可以看出,模型出現了嚴重的過擬合現象,因此我嘗試了一些常規的過擬合處理,包括正則化,dropout,以及訓練集影象的預處理(裁剪,反轉等)。

Pytorch學習筆記(五)

9 在pytorch中使用lstm 學習pytorch的rnn使用時最好去官方文件看一下api是如何使用的 乙個需要注意的地方是在pytorch中rnn的輸入input的shape的三維分別是 seq len,batch,input size 隱藏層h 0的shape三維分別是 num layers...

生產環境調優YARN Container引數

如何優化container引數?假設128g,16個物理core的伺服器 1 裝完centos,消耗記憶體1g 2 系統預留15 20 記憶體 大概26g,其中包含centos系統占用的1g記憶體 用來防止全部使用導致系統夯住和oom機制,或者給未來部署元件預留點空間。3 假設該伺服器上只有data...

Spark效能調優(五)

一 效能優化之資料本地性 1,資料本地性對分布式系統的效能而言是一件最為重要的事情 之一 程式執行本身包含 和資料兩部分,單機版本一般情況下很少資料本地性的問題 因為資料在本地 但是對於單機版本的程式由於資料本地性有process local和node local之分,所以我們還是盡量的讓資料處於p...