我目前正在tensorflow中进行文本生成。训练模型后,在预测文本并将数字解码为文本时,为什么我们使用tf.random.categorical(predictions, num_samples=1([-1,0].numpy??
1.:tf.random.categorical
仅返回具有最大概率的参数编号之一(而不是参数本身(,基于它作为参数的概率分布 - 在这种情况下predictions
。它只返回一个,因为我们设置了num_samples=1
.
(有关tf.random.categorical
究竟做什么的更好答案,请查看此处。
2.:[-1,0]
是简单的索引切片,我们只取最后一个元素的第一个元素。 我们从最后一个元素中获取它,因为输出始终只是输入偏移一个位置,因此最后一个元素是新词 - 这就是我们在这种情况下搜索的内容。
3.:使用numpy()
,因为我们(通常(不想在这一点上处理张量。tf.random.categorical
的返回是一个张量。所以我们使用numpy()
.