解決Pytorch訓練過程中loss不下降的問題
阿新 • • 發佈:2020-01-09
在使用Pytorch進行神經網路訓練時,有時會遇到訓練學習率不下降的問題。出現這種問題的可能原因有很多,包括學習率過小,資料沒有進行Normalization等。不過除了這些常規的原因,還有一種難以發現的原因:在計算loss時資料維數不匹配。
下面是我的程式碼:
loss_function = torch.nn.MSE_loss() optimizer.zero_grad() output = model(x_train) loss = loss_function(output,y_train) loss.backward() optimizer.step()
要特別注意計算loss時網路輸出值output和真實值y_train的維數必須完全匹配,否則訓練誤差不下降,無法訓練。這種錯誤在訓練一維資料時很容易忽略,要十分注意。
以上這篇解決Pytorch訓練過程中loss不下降的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。