【深度学习】漂亮,LSTM模型结构的可视化
共 8920字,需浏览 18分钟
·
2024-05-22 14:25
本文约3200字,建议阅读5分钟。本文介绍了LSTM模型结构的可视化。
2、LSTM网络
3、LSTM的输入结构
4、pytorch中的LSTM
4.1 pytorch中定义的LSTM模型
4.2 喂给LSTM的数据格式
4.3 LSTM的output格式
5、LSTM和其他网络组合
class torch.nn.LSTM(*args, **kwargs)参数有:input_size:x的特征维度 hidden_size:隐藏层的特征维度 num_layers:lstm隐层的层数,默认为1 bias:False则bihbih=0和bhhbhh=0. 默认为True batch_first:True则输入输出的数据格式为 (batch, seq, feature) dropout:除最后一层,每一层的输出都进行dropout,默认为: 0 bidirectional:True则为双向lstm默认为False
input(seq_len, batch, input_size)参数有:seq_len:序列长度,在NLP中就是句子长度,一般都会用pad_sequence补齐长度 batch:每次喂给网络的数据条数,在NLP中就是一次喂给网络多少个句子 input_size:特征维度,和前面定义网络结构的input_size一致。
input(batch, seq_len, input_size)
h0(num_layers * num_directions, batch, hidden_size)c0(num_layers * num_directions, batch, hidden_size)参数:num_layers:隐藏层数 num_directions:如果是单向循环网络,则num_directions=1,双向则num_directions=2 batch:输入数据的batch hidden_size:隐藏层神经元个数
input(batch, seq_len, input_size)
h0(batc,num_layers * num_directions, h, hidden_size)c0(batc,num_layers * num_directions, h, hidden_size)
output,(ht, ct) = net(input) output: 最后一个状态的隐藏层的神经元输出 ht:最后一个状态的隐含层的状态值 ct:最后一个状态的隐含层的遗忘门值
output(seq_len, batch, hidden_size * num_directions)ht(num_layers * num_directions, batch, hidden_size)ct(num_layers * num_directions, batch, hidden_size)
input(batch, seq_len, input_size)
ht(batc,num_layers * num_directions, h, hidden_size)ct(batc,num_layers * num_directions, h, hidden_size)
import torchfrom torch import nn
class RegLSTM(nn.Module): def __init__(self): super(RegLSTM, self).__init__() # 定义LSTM self.rnn = nn.LSTM(input_size, hidden_size, hidden_num_layers) # 定义回归层网络,输入的特征维度等于LSTM的输出,输出维度为1 self.reg = nn.Sequential( nn.Linear(hidden_size, 1) )
def forward(self, x): x, (ht,ct) = self.rnn(x) seq_len, batch_size, hidden_size= x.shape x = y.view(-1, hidden_size) x = self.reg(x) x = x.view(seq_len, batch_size, -1) return x
往期精彩回顾
交流群
欢迎加入机器学习爱好者微信群一起和同行交流,目前有机器学习交流群、博士群、博士申报交流、CV、NLP等微信群,请扫描下面的微信号加群,备注:”昵称-学校/公司-研究方向“,例如:”张小明-浙大-CV“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~(也可以加入机器学习交流qq群772479961)
评论
