Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tensorflow中的动态LSTM模型_Tensorflow_Deep Learning_Lstm_Recurrent Neural Network_Language Model - Fatal编程技术网

Tensorflow中的动态LSTM模型

Tensorflow中的动态LSTM模型,tensorflow,deep-learning,lstm,recurrent-neural-network,language-model,Tensorflow,Deep Learning,Lstm,Recurrent Neural Network,Language Model,我希望使用Tensorflow设计一个LSTM模型,其中的句子长度不同。我遇到了一个关于PTB数据集()的教程。该模型如何捕获不同长度的实例?该示例没有讨论任何关于填充或其他处理可变大小序列的技术 如果我使用填充,展开维度应该是什么?PTB模型在时间上被截断——它总是反向传播固定数量的步骤(配置中的num_步骤)。因此没有填充——它只是读取数据并尝试预测下一个单词,并且总是一次读取num_步单词。您可以通过两种方式来实现这一点 TF有一种指定输入大小的方法。寻找一个名为“sequence_len

我希望使用Tensorflow设计一个LSTM模型,其中的句子长度不同。我遇到了一个关于PTB数据集()的教程。该模型如何捕获不同长度的实例?该示例没有讨论任何关于填充或其他处理可变大小序列的技术


如果我使用填充,展开维度应该是什么?

PTB模型在时间上被截断——它总是反向传播固定数量的步骤(配置中的num_步骤)。因此没有填充——它只是读取数据并尝试预测下一个单词,并且总是一次读取num_步单词。

您可以通过两种方式来实现这一点

  • TF有一种指定输入大小的方法。寻找一个名为“sequence_length”的参数,我在tf.nn.bidirectional_rnn中使用了这个参数。因此,TF只会将细胞展开到序列长度,而不会展开到步长

  • 使用预定义的虚拟输入和预定义的虚拟输出(用于虚拟输出)填充输入。lstm单元将学习预测虚拟输入的虚拟输出。当使用它(比如矩阵计算)时,切掉虚拟零件


  • 是的,我也从代码流中得到它。然而,我需要使用一个序列预测,它接受不同长度的输入。如果我用0填充较短的句子,如何在输入序列或输出序列中的预期标签中用0反向传播?