如何在 Pytorch 中为 Seq2seq 模型实现小批量下降

问题描述

我是初学者,使用链接 https://pytorch.org/tutorials/intermediate/seq2seq_translation_tutorial.html 实现了一个序列到序列模型,以达到音译的目的。可以看出train()函数定义中的代码是这样的:

    for ei in range(input_length):
            encoder_output,encoder_hidden = encoder(
                   input_tensor[ei],encoder_hidden)
            encoder_outputs[ei] = encoder_output[0,0]

可以看出这个函数的方式是逐个字符迭代一个文本。所以batch size是1,所以embedding层之后的输出是[1,1,embedding_layer_size]。

我想实现这样的东西:

  for i in batches:
        encoder_output,encoder_hidden = encoder(
               i,encoder_hidden)

这样我就能得到 [batch_size,seq_length,embedding_layer_size]。并且也以同样的方式解码。注意batch中每个序列的seq_length是不同的

请帮帮我,指向资源的指针也足够了

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)