定义LSTM 模型

定义LSTM神经网络模型

class LSTM(nn.Module):
    """
        Parameters:
        - input_size:  输入特征数
        - hidden_size:   单个隐藏层的节点数
        - output_size: 输出特征数
        - num_layers:  隐藏层数
    """
    def __init__(self, input_size=1, hidden_size=1, output_size=1, num_layers=1):
        super().__init__()
        self.input_size = input_size
        self.hidden_size = hidden_size
        self.num_layers = num_layers
        self.output_size = output_size
        self.lstm = nn.LSTM(input_size, hidden_size, num_layers)
        self.forwardCalculation = nn.Linear(hidden_size, output_size)
        self.hidden_cell = (torch.zeros(self.num_layers,self.output_size,self.hidden_size),
                            torch.zeros(self.num_layers,self.output_size,self.hidden_size))

    def forward(self, input_seq):
        L = len(input_seq)
        lstm_out, self.hidden_cell = self.lstm(input_seq.view(L, 1, -1),self.hidden_cell)
        predictions = self.forwardCalculation(lstm_out.view(len(input_seq), -1))
        return predictions[-1]
posted @   华小电  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示