以交替方式连接两个张量 (Tensorflow)

Mau*_*rdi 2 tensorflow

我想以shape=(None, 16)交替方式连接两个张量(因此结果张量必须是shape=(None, 32)第一个张量的第一个数组与第二个张量的第一个数组以交替方式混合的地方,依此类推。

我该怎么做?

由于未知shape[0],我无法循环张量zip,张量不支持函数(张量对象不可迭代)。我在 Python3 中使用 Tensorflow。

mrr*_*rry 6

假设两个张量在外 ( None) 维度中具有相同的形状,并且您希望在两个张量的行之间交替,您可以通过添加一个维度来实现tf.expand_dims(),用 连接tf.concat(),然后用 重塑tf.reshape()

# Use these tensors as example inputs, but the shape need not be statically known.
x = tf.ones([37, 16])
y = tf.zeros([37, 16])

x_expanded = tf.expand_dims(x, 2)                   # shape: (37, 16, 1)
y_expanded = tf.expand_dims(y, 2)                   # shape: (37, 16, 1)

concatted = tf.concat([x_expanded, y_expanded], 2)  # shape: (37, 16, 2)

result = tf.reshape(concatted, [-1, 32])            # shape: (37, 32)
Run Code Online (Sandbox Code Playgroud)