如何在张量流中添加右零值
How to add a value of right zeros in tensorflow
我想要的是在张量的末尾添加一定数量的零,例如3。这是一个示例(使用发明的 tf 函数):
tn = tf.constant([1, 2])
# out: <tf.Tensor: shape(2,), dtype=int32, numpy=array([1, 2])>
tn = tf.add_zeros(tn, 3, 'right')
# out: <tf.Tensor: shape(5,), dtype=int32, numpy=array([1, 2, 0, 0, 0])>
有什么办法可以做到吗?
您可以尝试使用 tf.concat
:
import tensorflow as tf
tn = tf.constant([1, 2])
# out: <tf.Tensor: shape(2,), dtype=int32, numpy=array([1, 2])>
tn = tf.concat([tn, tf.zeros((3), dtype=tf.int32)], axis=0)
print(tn)
tf.Tensor([1 2 0 0 0], shape=(5,), dtype=int32)
或 tf.pad
t = tf.constant([1, 2])
paddings = tf.constant([[0, 3]])
tf.pad(t, paddings, "CONSTANT")
<tf.Tensor: shape=(5,), dtype=int32, numpy=array([1, 2, 0, 0, 0], dtype=int32)>
我想要的是在张量的末尾添加一定数量的零,例如3。这是一个示例(使用发明的 tf 函数):
tn = tf.constant([1, 2])
# out: <tf.Tensor: shape(2,), dtype=int32, numpy=array([1, 2])>
tn = tf.add_zeros(tn, 3, 'right')
# out: <tf.Tensor: shape(5,), dtype=int32, numpy=array([1, 2, 0, 0, 0])>
有什么办法可以做到吗?
您可以尝试使用 tf.concat
:
import tensorflow as tf
tn = tf.constant([1, 2])
# out: <tf.Tensor: shape(2,), dtype=int32, numpy=array([1, 2])>
tn = tf.concat([tn, tf.zeros((3), dtype=tf.int32)], axis=0)
print(tn)
tf.Tensor([1 2 0 0 0], shape=(5,), dtype=int32)
或 tf.pad
t = tf.constant([1, 2])
paddings = tf.constant([[0, 3]])
tf.pad(t, paddings, "CONSTANT")
<tf.Tensor: shape=(5,), dtype=int32, numpy=array([1, 2, 0, 0, 0], dtype=int32)>