pytorch跑LSTM,网络参数不优化更新是怎么回事?

Max720csdn 2025-02-14 18:33:35

请教一下大神们,我用pytorch跑LSTM,为什么不管跑多少轮网络参数都基本不变,Loss也不会变化呢?用的一个最基础的网络(本来是一个LSTM自编码器,后来找问题一直拆到只剩一个LSTM让输入和输出逼近,还是有问题)。

有没有大神懂的麻烦帮忙看看,万分感谢!

 

import torch
from torch import nn


class Network(nn.Module):
    def __init__(self):
        super().__init__()
        self.rnn = nn.RNN(
            input_size=5,
            hidden_size=5,
            num_layers=1,
            batch_first=True
        )

    def forward(self, x):
        y, h = self.rnn(x)
        return y


model = Network()
Loss_fn = nn.MSELoss()
optimizer = torch.optim.Adam(model.parameters(), lr=0.01)

a = torch.zeros(3, 2, 5)
a[0, :, :] = torch.tensor([[[25.5, 28.7, 14.3, 63.5, 27.0], [15.5, 37.6, 43.3, 22.6, 54.4]]])
a[1, :, :] = a[0, :, :] + 15
a[2, :, :] = a[0, :, :] + 30

for epoch in range(10):
    for n in range(3):
        data_in = a[n:n+1, :, :]
        data_pred = model(data_in)
        loss = Loss_fn(data_pred, data_in)

        optimizer.zero_grad()
        loss.backward()
        optimizer.step()
...全文
44 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

6,169

社区成员

发帖
与我相关
我的任务
社区描述
人生苦短,我用python
社区管理员
  • Python 学习者
  • 嗨学编程
  • 松鼠爱吃饼干
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

欢迎来到Python学习者们的社区,

 

本社区分享你需要的文章、问题解答、技术互助、学习资源、面试系列等等

 

欢迎你的加入,祝你学有所成~

试试用AI创作助手写篇文章吧