【发布时间】:2020-12-28 14:22:33
【问题描述】:
我的目标是建立一个预测下一个字符的模型。 我已经建立了一个模型,这是我的训练循环:
model = Model(input_size = 30,hidden_size = 256,output_size = len(dataset.vocab))
EPOCH = 10
criterion = nn.CrossEntropyLoss()
optimizer = optim.Adam(model.parameters(), lr=0.001)
init_states = None
for epoch in range(EPOCH):
loss_overall = 0.0
for i, (inputs,targets) in enumerate(dataloader):
optimizer.zero_grad()
pred = model.forward(inputs)
loss = criterion(pred, targets)
loss.backward()
optimizer.step()
如您所见,我只返回模型的预测,而不是 cell_state 和 hidden_state。
所以替代方案是:pred,cell_state,hidden_state = model.forward(inputs)
我的问题是:我应该为角色预测任务做这件事吗?为什么/为什么不? 总的来说:我应该什么时候返回隐藏状态和单元状态?
【问题讨论】:
标签: pytorch lstm recurrent-neural-network