给定张量A:[5,4,3,4]
,我想创建一个张量B:
[[1,1,1,1,1],
[1,1,1,1,0],
[1,1,1,0,0],
[1,1,1,1,0]]
根据A,B的每一行都有n个,其中n = 5,4,3,4。剩余的位置用零填充。
我可以在tensorflow中实现这个,以及如何实现?
答案 0 :(得分:2)
您可以使用tf.sequence_mask。
import tensorflow as tf
A = tf.constant([5,4,3,4], dtype=tf.int32)
max_len = tf.reduce_max(A)
B = tf.sequence_mask(A, max_len, dtype=tf.int32)
with tf.Session() as sess:
print(sess.run(B))
打印:
[[1 1 1 1 1]
[1 1 1 1 0]
[1 1 1 0 0]
[1 1 1 1 0]]