tensorflow padded_batch类似np.pad('edge')

时间:2019-02-18 20:50:44

标签: python tensorflow

给出一批具有单个形状X的张量x[t_i][j],其中t_i是批处理元素i的序列长度,我想使用padded_batch将张量填充到t_max的长度,使得x[t_i <= t < t_max] = x[t_i]

不使用padded_batch,我会简单地

batch_x = ... #list of tensors to padded_batch
t_max = ... #longest sequence length of batch

new_batch = []
for x in batch_x:
    row = tf.expand_dims(x[-1],axis=0)
    rows = tf.tile(row,[t_max-x.shape[0],1])
    padded_x = tf.concat([x,rows],axis=0]
    new_batch.append(padded_x)
return tf.stack(new_batch,axis=0)

使用padded_batch的增加似乎并没有足够的控制力。

我唯一能想到的就是将每个特征张量分开用于batch_padding。然后将batched_pa​​pped功能串联起来。

编辑: 我意识到这相当于np.pad(x,(0,pad_len),'edge')

0 个答案:

没有答案