tf.concat 个不同长度的张量
tf.concat tensors with different length
我有 2 个张量,例如:
a = tf.constant([[1, 2, 3], [1, 2, 3]])
b = tf.constant([1, 2, 3, 4, 5])
我想要的输出是:
<tf.Tensor: shape=(4, 2), dtype=int64, numpy=
array([[1, 2, 3, 0, 0],
[1, 2, 3, 0, 0],
[1, 2, 3, 4, 5]], dtype=int64)>
但是当我尝试 tf.concat([a, b], axis=0)
时,我得到了这个错误:
InvalidArgumentError: ConcatOp : Dimensions of inputs should match: shape[0] = [2,3] vs. shape[1] = [1,5] [Op:ConcatV2] name: concat
试试这个:
a = tf.constant([[1, 2, 3], [1, 2, 3]])
b = tf.constant([1, 2, 3, 4, 5])
c = tf.concat([tf.pad(a, tf.constant([[0,0], [0,2]])), tf.expand_dims(b, axis=0)], axis=0)
tf.print(c)
[[1 2 3 0 0]
[1 2 3 0 0]
[1 2 3 4 5]]
我有 2 个张量,例如:
a = tf.constant([[1, 2, 3], [1, 2, 3]])
b = tf.constant([1, 2, 3, 4, 5])
我想要的输出是:
<tf.Tensor: shape=(4, 2), dtype=int64, numpy=
array([[1, 2, 3, 0, 0],
[1, 2, 3, 0, 0],
[1, 2, 3, 4, 5]], dtype=int64)>
但是当我尝试 tf.concat([a, b], axis=0)
时,我得到了这个错误:
InvalidArgumentError: ConcatOp : Dimensions of inputs should match: shape[0] = [2,3] vs. shape[1] = [1,5] [Op:ConcatV2] name: concat
试试这个:
a = tf.constant([[1, 2, 3], [1, 2, 3]])
b = tf.constant([1, 2, 3, 4, 5])
c = tf.concat([tf.pad(a, tf.constant([[0,0], [0,2]])), tf.expand_dims(b, axis=0)], axis=0)
tf.print(c)
[[1 2 3 0 0]
[1 2 3 0 0]
[1 2 3 4 5]]