How to Concatenate Two Tensors Horizontally in TensorFlow
- Horizontal Concatenation of Tensors
- Visual Representation of Tensors
- Concatenate Two Tensors Horizontally in TensorFlow
This quick article will explain the horizontal concatenation of two tensors using the TensorFlow v2.8.2
framework in Python. First, we will discuss the visual representation of horizontal concatenation of the tensors in Python, and then we will see methods to concatenate them.
Horizontal Concatenation of Tensors
Tensors are multi-dimensional arrays with a uniform type (called a dtype
). There are many supported libraries in Python for multi-dimensional arrays (e.g., NumPy
, PyTorch
, TensorFlow
, etc.).
The TensorFlow
library is developed by Google and is one of the advanced and multifunctional libraries; best suited for creating and manipulating the tensors easily while performing machine learning tasks.
Visual Representation of Tensors
A tensor can be multiple dimensional. For example: 1-dimensional (Rank-1 tensor), 2-dimensional (Rank-2 tensor), 3-dimensional (Rank-3 tensor) and so on.
One-dimensional Tensors Horizontal Concatenation
For horizontal concatenation, the tensors must have the same first dimension. In the below diagram, the horizontal concatenation of Tensor A (shape=(1,3)
) and Tensor B (shape=(1,3)
) gives the resultant tensor.
In this case, Tensor A and Tensor B have the same first dimension (i.e., equal to 1). The concatenated tensor will be of shape=(1, 6)
as depicted in the following diagram.
Two-dimensional Tensors Horizontal Concatenation
A 2-dimensional tensor looks like a matrix. In the below diagram, the horizontal concatenation of two 2-dimensional Tensors (i.e., Tensor A (shape=(2,3)
) and Tensor B (shape=(2,3)
)) gives the resultant tensor.
Note that Tensor A and Tensor B have the same first dimension (i.e., equal to 2), and the resultant concatenated tensor is of shape=(2, 6)
.
Concatenate Two Tensors Horizontally in TensorFlow
Now, we will see how we can concatenate the tensors horizontally by using TensorFlow
in Python.
pip install tensorflow
First, use the above command to install the TensorFlow
library.
import tensorflow as tf
t1 = [[1, 2], [3, 4]]
t2 = [[5, 6, 7], [8, 9, 10]]
result = tf.concat([t1, t2], 1)
print(result)
In the above code, we first imported the TensorFlow
library and then declared two tensors t1
and t2
of shapes (2, 2)
and (2, 3)
respectively. After that, we used the tf.concat(values, axis, name)
function to concatenate the tensors along axis 1.
Here, the axis= 1
means that the tensors will be concatenated horizontally.
The tf.concat(values, axis, name)
function takes the following three arguments.
values
- list of tensors.axis
- A 0-dimensional tensor that represents the dimension to concatenate.name
(optional) - Represents the operation’s name.
A detailed description of the concat
function can be found here.
The above code gives the following output tensor.
tf.Tensor(
[[ 1 2 5 6 7]
[ 3 4 8 9 10]], shape=(2, 5), dtype=int32)
]
The resultant tensor is of shape (2, 5)
. This is evident because the result
tensor comprises 2 rows and 5 columns.