【问题标题】:Feed non-placeholder variables in seq2seq在 seq2seq 中输入非占位符变量
【发布时间】:2017-06-14 03:16:42
【问题描述】:

我正在使用 Tensorflow seq2seq 模型,我想知道如何为经过训练的 seq2seq 解码器提供任意初始解码器内存(在训练期间,该初始解码器内存是编码器的输出)。

我认为我需要使用 feed_dict 并且 TF 强制我输入输入序列,因为为它定义了一个占位符,对于解码器输入也是如此。

但如果我这样做,我实际上无法强制初始解码器内存成为我想要的,因为它是从解码器输入定义的。我仍然尝试这样做,但它忽略了我的第三行。

for t in range(seq_length):
    feed_dict[enc_inp[t]] = X[t] #encoder input

for t in range(seq_length):
    feed_dict[dec_inp[t]] = Y[t] #decoder input

for t in range(seq_length):
    feed_dict[dec_memory[t]] = np.random.rand(memory_dim) #value I want to feed as initial memory of decode

你对如何做我想做的事有任何线索吗?即提供模型变量状态,即使它们不是由占位符提供的。

谢谢

【问题讨论】:

  • 是的,你可以喂任何节点。如果您没有看到喂食的效果,也许您的输出不依赖于您喂食的节点

标签: tensorflow recurrent-neural-network


【解决方案1】:

您不应该输入随机数,而是输入 0 吗?这是关于 rnns 的 karpathy 课程中的一个建议:Recurrent Neural Networks, Image Captioning

【讨论】:

  • 解码器被训练用于从句子嵌入中生成。我想生成具有随机特征的随机句子
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-01
  • 2016-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-12
相关资源
最近更新 更多