Python en Español

Ejemplos de TensorFlow – Definir y usar tensores

En esta publicación, vamos a ver algunos ejemplos de TensorFlow y de cómo es fácil definir tensores, realizar operaciones matemáticas usando tensores y otros ejemplos de aprendizaje automático.

 


¿Qué es TensorFlow?

TensorFlow es una librería desarrollada por Google para resolver complicados y morosos problemas matemáticos.

En realidad, TensorFlow puede hacer muchas cosas como:

  • Resolviendo expresiones matemáticas complejas.
  • Usando técnicas de aprendizaje automático, donde, le das una muestra de datos para el entrenamiento, luego le das otra muestra de datos para predecir el resultado en función de los datos de entrenamiento. ¡Esto es inteligencia artificial!
  • Soporte a GPU. Puede utilizar GPU (unidad de procesamiento gráfico) en lugar del CPU para un procesamiento más rápido. Hay dos versiones de TensorFlow, versión de CPU y versión de GPU.

Antes de comenzar a trabajar con los ejemplos de TensorFlow, necesitamos conocer algunos conceptos básicos.



¿Qué es un Tensor?

El tensor es el principal bloque de datos que usa TensorFlow, es como las variables que TensorFlow usa para trabajar con datos. Cada tensor tiene una dimensión y un tipo.

La dimensión son las filas y columnas del tensor. Puedes definir un tensor unidimensional, bidimensional o tridimensional como veremos más adelante.

El tipo, es el tipo de datos para los elementos del tensor.

Definir un tensor unidimensional

Para definir un tensor, crearemos una matriz NumPy o una lista de Python y la convertiremos en un tensor utilizando la función tf_convert_to_tensor.

Usaremos NumPy para crear una matriz como esta:

Puedes ver los resultados de la dimensión y la forma de la matriz.

Tensorflow examples define numpy array

Parece la lista de Python, pero aquí no hay una coma entre los elementos.

Ahora convertiremos esta matriz en un tensor utilizando la función tf convert_to_tensor.

Tensorflow examples convert to tensor

A partir de los resultados, puedes ver la definición del tensor, pero no puedes ver los elementos del tensor.

Bueno, para ver los elementos del tensor, puedes ejecutar una sesión como esta:

Tensorflow examples tensor elements


Definir un tensor bidimensional

De la misma manera que la matriz unidimensional (array), esta vez definiremos la matriz así:

arr = np.array([(1, 5.5, 3, 15, 20),(10, 20, 30, 40, 50), (60, 70, 80, 90, 100)])

Y lo puedes convertir en un tensor de esta manera:

Tensorflow examples two-dimensional tensor

Ahora ya sabes cómo definir los tensores. ¿Realizamos algunas operaciones matemáticas entre ellos?


Realizar matemáticas en tensores

Supón que tienes dos matrices como las siguientes:

Necesitamos sumarlos. Puedes realizar cualquier operación matemática usando TensorFlow.

Puedes usar la función add:

arr3 = tf.add(arr1,arr2)

Entonces, el código se verá así:

Tensorflow examples add tensors

Puedes multiplicar las matrices:

Tensorflow examples multiply tensors

Ahora ya captas la idea.

Tensores tridimensionales

Vimos cómo trabajar con tensores de una y dos dimensiones. Ahora veremos los tensores tridimensionales, pero esta vez no utilizaremos números, usaremos una imagen RGB donde cada parte de la imagen se especifica con coordenadas x, y, y z.

Estas coordenadas son el ancho y alto de la imagen y la profundidad de color.

Primero, importemos la imagen usando matplotlib. Puedes instalar matplotlib usando pip si no está instalado en tu sistema.

Ahora, colocas el archivo de la imagen en el mismo directorio con el archivo Python e importas la imagen usando matplotlib así:

Tensorflow examples import image

Como puedes ver, es una imagen tridimensional donde el ancho es 150, la altura es 150 y la profundidad del color es 3.

Puedes ver la imagen así:

Tensorflow examples view import image

¡Buenísimo!

¿Qué hay de manipular la imagen con TensorFlow? Muy fácil.


Recortar o cortar una imagen usando TensorFlow

Primero, ponemos los valores en un marcador de posición como este:

myimage = tf.placeholder("int32",[None,None,3])

Para dividir la imagen, utilizaremos el operador slice de esta manera:

cropped = tf.slice(myimage,[10,0,0],[16,-1,-1])

Finalmente, ejecutamos la sesión:

result = sess.run(cropped, feed_dict={slice: myimage})

Luego puedes ver la imagen resultante usando matplotlib.

El código resultante será así:

Tensorflow examples crop image

¡Increíble!

Transponer imágenes usando TensorFlow

En este ejemplo de TensorFlow example, podemos hacer una transformación simple usando TensorFlow.

Primero, especificamos la entrada e inicializamos las variables TensorFlow:

Luego, usamos la función transpose que intercambia los ejes 0 y 1 en la rejilla de entrada:

Entonces, puedes mostrar la imagen resultante usando matplotlib.

Tensorflow examples transpose image

Todos estos ejemplos de TensorFlow te muestran lo fácil que es trabajar con TensorFlow.

Espero que encuentres útil la publicación. Sigue regresando.

Mokhtar Ebrahim
Estoy trabajando como administrador de sistemas Linux desde 2010. Soy responsable de mantener, proteger y solucionar problemas de servidores Linux para múltiples clientes de todo el mundo. Me encanta escribir guiones de shell y Python para automatizar mi trabajo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *