Concatenar dos tensores horizontalmente en TensorFlow

Muhammad Zohaib 15 febrero 2024
  1. Concatenación Horizontal de Tensores
  2. Representación Visual de Tensores
  3. Concatenar dos tensores horizontalmente en TensorFlow
Concatenar dos tensores horizontalmente en TensorFlow

Este breve artículo explicará la concatenación horizontal de dos tensores utilizando el marco TensorFlow v2.8.2 en Python. Primero, discutiremos la representación visual de la concatenación horizontal de los tensores en Python, y luego veremos métodos para concatenarlos.

Concatenación Horizontal de Tensores

Los tensores son matrices multidimensionales con un tipo uniforme (llamado dtype). Hay muchas bibliotecas admitidas en Python para matrices multidimensionales (por ejemplo, NumPy, PyTorch, TensorFlow, etc.).

La biblioteca TensorFlow está desarrollada por Google y es una de las bibliotecas avanzadas y multifuncionales; más adecuado para crear y manipular los tensores fácilmente mientras se realizan tareas de aprendizaje automático.

Representación Visual de Tensores

Un tensor puede ser multidimensional. Por ejemplo: unidimensional (tensor de rango 1), bidimensional (tensor de rango 2), tridimensional (tensor de rango 3), etc.

Concatenación horizontal de tensores unidimensionales

Para la concatenación horizontal, los tensores deben tener la misma primera dimensión. En el siguiente diagrama, la concatenación horizontal del Tensor A (forma=(1,3)) y el Tensor B (forma=(1,3)) da el tensor resultante.

En este caso, Tensor A y Tensor B tienen la misma primera dimensión (es decir, igual a 1). El tensor concatenado será de forma=(1, 6) como se muestra en el siguiente diagrama.

Concatenación horizontal de tensores unidimensionales

Concatenación horizontal de tensores bidimensionales

Un tensor bidimensional parece una matriz. En el siguiente diagrama, la concatenación horizontal de dos tensores bidimensionales (es decir, el tensor A (forma=(2,3)) y el tensor B (forma=(2,3))) da el tensor resultante.

Nótese que el Tensor A y el Tensor B tienen la misma primera dimensión (es decir, igual a 2), y el tensor concatenado resultante es de forma=(2, 6).

Concatenación horizontal de tensores bidimensionales

Concatenar dos tensores horizontalmente en TensorFlow

Ahora, veremos cómo podemos concatenar los tensores horizontalmente usando TensorFlow en Python.

pip install tensorflow

Primero, use el comando anterior para instalar la biblioteca TensorFlow.

import tensorflow as tf

t1 = [[1, 2], [3, 4]]
t2 = [[5, 6, 7], [8, 9, 10]]
result = tf.concat([t1, t2], 1)
print(result)

En el código anterior, primero importamos la biblioteca TensorFlow y luego declaramos dos tensores t1 y t2 de formas (2, 2) y (2, 3) respectivamente. Después de eso, usamos la función tf.concat(valores, eje, nombre) para concatenar los tensores a lo largo del eje 1.

Aquí, el eje= 1 significa que los tensores se concatenarán horizontalmente.

La función tf.concat(valores, eje, nombre) toma los siguientes tres argumentos.

  1. valores - lista de tensores.
  2. eje - Un tensor de dimensión 0 que representa la dimensión a concatenar.
  3. nombre (opcional) - Representa el nombre de la operación.

Puede encontrar una descripción detallada de la función concat aquí.

El código anterior da el siguiente tensor de salida.

tf.Tensor(
[[ 1  2  5  6  7]
 [ 3  4  8  9 10]], shape=(2, 5), dtype=int32)
]

El tensor resultante tiene la forma (2, 5). Esto es evidente porque el tensor resultado consta de 2 filas y 5 columnas.