给定一个张量 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。其余仓位用零填充。
我可以在张量流中实现这一点吗,以及如何实现?
您可以使用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]]