首页 文章

在动态rnn中填充0个向量的批处理

提问于
浏览
0

我有一个预测任务,使用可变的输入数据序列 . 直接使用动态rnn会遇到根据这篇文章拆分输出的麻烦:

Using a variable for num_splits for tf.split()

因此,我想知道是否可以填充整批序列以使所有示例具有相同数量的序列,然后在 tf.nn.dynamic_rnn tf.nn.dynamic_rnn 参数中为填充的序列批次提供0长度 . 这会有用吗?

1 回答

  • -1

    您必须定义序列的 max_length . 之后,您可以检查输入是否小于 max 并用零向量填充它 . 更多信息:https://danijar.com/variable-sequence-lengths-in-tensorflow/ . 因此,在您的数据生成器中,您必须检查每个输入要素向量,并执行以下操作:

    len_vec = feature_vec.shape[0]
    if len_vec < max_length:
      mis_dim = max_length - len_vec
      zero_vec = np.zeros((mis_dim, feature_vec.shape[1]))
      feature_vec = np.vstack((feature_vec, zero_vec))
    

相关问题