tensorflow 如何不使用tf.stack来堆叠Tensor?

3ks5zfa0  于 2023-03-19  发布在  其他
关注(0)|答案(2)|浏览(118)

有没有办法在Tensorflow中合并Tensor?例如:我有128Tensor形状都是**(40,10)**,现在,我想合并他们的形状(128,40,10).我不能直接使用 *tf.stack([Tensor1, Tensor2, Tensor3, ...])*.
那么,有没有什么功能可以帮助实现这一点?

6uxekuva

6uxekuva1#

tf.expand_dimstf.concat一起使用:

import tensorflow as tf

x1 = tf.expand_dims(tf.random.normal((40, 10)), axis=0)
x2 = tf.expand_dims(tf.random.normal((40, 10)), axis=0)
x3 = tf.expand_dims(tf.random.normal((40, 10)), axis=0)
x4 = tf.expand_dims(tf.random.normal((40, 10)), axis=0)

x = tf.concat([x1, x2, x3, x4], axis=0)
print(x.shape)
# (4, 40, 10)
vq8itlhq

vq8itlhq2#

我看到有一个正确的答案,但我也提供了另一种方式,通过它层(s),我用我的工作案例:

X = tf.keras.layers.Concatenate(axis=1)([group_1_ShoryuKen_Left, group_1_ShoryuKen_Right])

Working with multiple sequences

相关问题