给定一个张量 [5,4,3,4],如何生成一个常量张量,其中每行有 n 个 1 和 m 个零,n=5,4,3,4 和



给定一个张量 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]]

最新更新