1. 程式人生 > 程式設計 >解決Pytorch訓練過程中loss不下降的問題

解決Pytorch訓練過程中loss不下降的問題

在使用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不下降的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。