【发布时间】:2020-01-23 17:53:17
【问题描述】:
我正在使用一些代码来训练 lstm 以生成序列。训练模型后,调用 lstm() 方法:
x = some_input
lstm_output, (h_n, c_n) = lstm(x, hc)
funcc = nn.Linear(in_features=lstm_num_hidden,
output_features=vocab_size,
bias=True)
func_output = func(lstm_output)
我查看了nn.Linear() 的文档,但我仍然不明白这种转换在做什么以及为什么它是必要的。如果 lstm 已经经过训练,那么它给出的输出应该已经具有预先确定的维度。这个输出(lstm_output)将是生成的序列,或者在我的例子中是一个向量数组。我在这里遗漏了什么吗?
【问题讨论】:
-
是在模型训练完成后添加的?您能否提供上下文,即训练循环。如果模型已经被训练过,那就很奇怪了。
标签: neural-network pytorch lstm recurrent-neural-network