代码文件
from torch import nn
class GRU_RegressionNet(nn.Module):
def __init__(self, input_size, hidden_size, output_size=1, num_layers=2):
super(GRU_RegressionNet, self).__init__()
# 初始化GRU层
self.gru = nn.GRU(input_size=input_size, hidden_size=hidden_size, num_layers=num_layers, batch_first=True)
# 初始化线性层,用于从隐藏状态生成输出
self.fc = nn.Linear(hidden_size, output_size)
def forward(self, x):
# 通过GRU层
out, _ = self.gru(x)
# 改变形状适应线性层
out = out.contiguous().view(-1, out.shape[2])
# 通过线性层
out = self.fc(out)
return out
# 创建模型实例并打印结构
model = GRU_RegressionNet(10, 8, num_layers=2)
print(model)
题目描述
任务描述
本关任务:从零开始实现门控循环单元模型 (GRU)。
相关知识
为了完成本关任务,你需要掌握:
- 什么是门控循环单元(GRU)&