我有一个预测任务,使用可变的输入数据序列。直接使用动态rnn会遇到根据这篇文章分割输出的麻烦:
Using a variable for num_splits for tf.split()
所以,我想知道是否可以填充整批序列以使所有示例具有相同数量的序列,然后在sequence_length
tf.nn.dynamic_rnn
参数中给出0长度填充批次序列。这会有用吗?
答案 0 :(得分:-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))