gpt4 book ai didi

tensorflow - 在使用 seq2seq 时,tf.nn.dynamic_rnn 如何处理不同长度的输入?

转载 作者:行者123 更新时间:2023-12-01 18:28:17 26 4
gpt4 key购买 nike

这里我问的是动态行为是如何工作的。这是 tensorflow documentation对于上面的dynamic_rnn函数。该函数创建的 RNN 输入 block 的最大长度是多少?它会根据最大的输入填充所有较短的吗?

最佳答案

您有责任填充序列,然后提供序列长度。

例如:

# Create input data
X = np.random.randn(2, 10, 8)

# The second example is of length 6
X[1,6:] = 0
X_lengths = [10, 6]

cell = tf.nn.rnn_cell.LSTMCell(num_units=64, state_is_tuple=True)

outputs, last_states = tf.nn.dynamic_rnn(
cell=cell,
dtype=tf.float64,
sequence_length=X_lengths,
inputs=X)

在这里你可以看到,我们自己填充序列X[1,6:] = 0会将0分配给第6个元素之后的所有值,这意味着这个序列的长度为6我们通过给 X_lengths 第二个值 6

来说明这一点

关于tensorflow - 在使用 seq2seq 时,tf.nn.dynamic_rnn 如何处理不同长度的输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44395715/

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