两个tensor如何接在一起
时间: 2023-11-29 19:07:19 浏览: 82
两个Tensor可以通过TensorFlow的`concat`函数进行拼接。`concat`函数的语法如下:
```python
tf.concat(values, axis)
```
其中,`values`是要拼接的Tensor列表,`axis`是拼接的维度。例如,如果要将两个形状为`[batch_size, n]`和`[batch_size, m]`的Tensor在第二个维度上拼接,可以使用以下代码:
```python
import tensorflow as tf
n = 10
m = 20
batch_size = 32
# 创建两个Tensor
tensor1 = tf.placeholder(tf.float32, [batch_size, n])
tensor2 = tf.placeholder(tf.float32, [batch_size, m])
# 在第二个维度上拼接两个Tensor
concat_tensor = tf.concat([tensor1, tensor2], axis=1)
# 创建一个随机的输入数据
x1 = np.random.randn(batch_size, n)
x2 = np.random.randn(batch_size, m)
# 创建 TensorFlow 会话
sess = tf.Session()
# 运行拼接操作,传入输入数据
result = sess.run(concat_tensor, feed_dict={tensor1: x1, tensor2: x2})
```
在这个示例中,我们首先创建了两个形状分别为`[batch_size, n]`和`[batch_size, m]`的Tensor`tensor1`和`tensor2`。然后,我们使用`concat`函数将两个Tensor在第二个维度上拼接成一个形状为`[batch_size, n + m]`的Tensor`concat_tensor`。最后,我们创建了一个随机的输入数据`x1`和`x2`,以及一个TensorFlow会话,并通过`run`方法运行拼接操作,将输入数据填充到占位符中。运行结果`result`是一个形状为`[batch_size, n + m]`的Tensor,表示拼接后的结果。
阅读全文