gpt4 book ai didi

tensorflow - 如何在 tensorflow 中将 static_rnn 输入转换为 dynamic_rnn 输入?

转载 作者:行者123 更新时间:2023-12-04 17:43:58 25 4
gpt4 key购买 nike

我无法理解 tensorflow 的 dynamic_rnn 的输入参数.如果我能理解如何转换 static_rnn 会很有帮助输入 dynamic_rnn输入。

对于 static_rnn ,输入应该是长度 T形状为 [batch_size, input_size] 的张量列表, 其中 T是序列长度。这对我来说很有意义。

对于 dynamic_rnn ,输入应该是一个形状为 [batch_size, max_time, ...] 的张量.我不明白如何合并 input_size这里。更一般地说,我不知道您还能在省略号中添加什么。

例如,假设我的数据由 50 个字符长的句子组成,所以 input_size是字母表中的字母数。对于 static_rnn ,我会制作一个长度为 50 的张量列表,其形状为 [batch_size, input_size] .如何将此张量列表转换为单个张量,以便将其提供给 dynamic_rnn ?

最佳答案

您的 dynamic_rnn输入的形状应为 [batch_size, sequence_length, input_size] .

基本上张量代表batch_size长度示例 sequence_length , 省略号中剩下的就是单个序列元素的形状。

问题是,使用 dynamic_rnn您不需要事先知道 sequence_length,因此您的输入占位符可能看起来像

x = tf.placeholder(tf.int32, shape=(batch_size, None, input_size))

这非常方便。此外,单个批处理中的示例可以有不同的长度(但必须填充到相同的长度),但您必须通过 sequence_length dynamic_rnn 的参数所以它知道何时停止每个示例的计算。

关于tensorflow - 如何在 tensorflow 中将 static_rnn 输入转换为 dynamic_rnn 输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43396431/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com