Python 如何将解码器LSTM的输出数据转换回字?
我有一个编码器-解码器网络,与本教程中生成的网络类似: 然而,解码器LSTM的输出将是介于0和1之间的数字。但是,在本教程中,单词被标记为整数。如何使用此标记化将0和1之间的输出转换回单词Python 如何将解码器LSTM的输出数据转换回字?,python,python-3.x,tensorflow,keras,sequence-to-sequence,Python,Python 3.x,Tensorflow,Keras,Sequence To Sequence,我有一个编码器-解码器网络,与本教程中生成的网络类似: 然而,解码器LSTM的输出将是介于0和1之间的数字。但是,在本教程中,单词被标记为整数。如何使用此标记化将0和1之间的输出转换回单词 另一个选项可能是使用一个热编码标记化,但您肯定仍然需要对输出进行四舍五入以将浮点输出转换为整数?使用tf.math.argmax()查找最佳单词的索引。然后从词汇表中提取单词您引用的教程使用了15000个标记的词汇表。它输出每个样本10个标记的序列,这样10个字中的每一个都是15000个浮点的向量。您可以将
另一个选项可能是使用一个热编码标记化,但您肯定仍然需要对输出进行四舍五入以将浮点输出转换为整数?使用
tf.math.argmax()
查找最佳单词的索引。然后从词汇表中提取单词您引用的教程使用了15000个标记的词汇表。它输出每个样本10个标记的序列,这样10个字中的每一个都是15000个浮点的向量。您可以将其视为一种概率,理想情况下,这15000个浮点数的总和加起来等于1,最高分数告诉您选择了哪个令牌。因此,在输入时,每个令牌将转换为1个大小为15000的热编码向量,在输出时,您将有一个softmax节点,该节点输出每个令牌的分数,其中最高分数将为您提供所选令牌。感谢您的回复。我不知道这是怎么回事-你说的“最佳单词”是什么意思?Softmax提供了单词索引之间的概率分布。价值越高,这个词就越好