top of page
Buscar

TensorFlow: Una Visión General de la Biblioteca de Aprendizaje Automático de Google

  • kelyortizc
  • 2 dic 2023
  • 3 Min. de lectura

TensorFlow es una poderosa biblioteca de código abierto desarrollada por Google para realizar cálculos numéricos y ejecutar modelos de aprendizaje automático. Su flexibilidad, escalabilidad y facilidad de uso han convertido a TensorFlow en una herramienta fundamental en el ámbito del aprendizaje automático y la inteligencia artificial.

¿Qué es TensorFlow?

En su núcleo, TensorFlow es un marco de trabajo diseñado para la construcción y entrenamiento de modelos de aprendizaje automático. Utiliza gráficos computacionales para representar cálculos, lo que le permite gestionar de manera eficiente la distribución y ejecución de operaciones en unidades de procesamiento central (CPU), unidades de procesamiento gráfico (GPU) e incluso procesadores especializados como las Unidades de Procesamiento Tensorial (TPU).

Características Principales

Flexibilidad en la Construcción de Modelos

TensorFlow ofrece una gama versátil de herramientas y API que permiten la creación de una variedad de modelos, desde redes neuronales convolucionales (CNN) y recurrentes (RNN) hasta modelos de aprendizaje profundo.

Escalabilidad

Puede ser utilizado en una amplia gama de dispositivos, desde servidores hasta dispositivos móviles, lo que lo hace adaptable para el desarrollo de aplicaciones en diversos entornos.

TensorFlow Extended (TFX)

Además del entrenamiento y la inferencia de modelos, TensorFlow Extended proporciona un ecosistema para implementar flujos de trabajo de aprendizaje automático a gran escala, incluyendo la preparación de datos, validación y despliegue en producción.

Integración con Otros Servicios de Google

TensorFlow se integra de manera eficiente con otros servicios de Google Cloud Platform (GCP) y Google Colab, lo que facilita la implementación y gestión de modelos en la nube.

Usos Comunes

Visión por Computadora

TensorFlow se utiliza ampliamente en aplicaciones de visión por computadora, como reconocimiento de imágenes, detección de objetos y segmentación semántica.

Procesamiento del Lenguaje Natural (NLP)

En el campo del procesamiento del lenguaje natural, TensorFlow es utilizado para tareas como análisis de sentimientos, traducción automática, generación de texto y más.

Aprendizaje Reforzado

El aprendizaje reforzado, una rama del aprendizaje automático centrada en la toma de decisiones secuenciales, también se beneficia de las capacidades de TensorFlow.

Conclusión

TensorFlow ha demostrado ser una herramienta fundamental en el desarrollo de aplicaciones de aprendizaje automático y ha sido adoptado ampliamente por la comunidad científica y la industria. Su continua evolución, comunidad activa y flexibilidad lo convierten en un recurso invaluable para aquellos que buscan incursionar en el campo del aprendizaje automático e impulsar la innovación en diversos sectores.

Ejemplo:

Primera parte:

import tensorflow as tf

from tensorflow.keras.models import Sequential

from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense

from tensorflow.keras.datasets import mnist # Utilizaremos el conjunto de datos MNIST


# Cargar el conjunto de datos MNIST

(x_train, y_train), (x_test, y_test) = mnist.load_data()


# Normalizar los valores de píxeles en el rango [0, 1]

x_train = x_train.astype('float32') / 255.0

x_test = x_test.astype('float32') / 255.0


# Expandir las dimensiones de los datos para trabajar con una sola capa de canal

x_train = tf.expand_dims(x_train, axis=-1)

x_test = tf.expand_dims(x_test, axis=-1)


# Definir el modelo de la CNN

model = Sequential()


# Capa de convolución 2D

model.add(Conv2D(32, (3, 3), activation='relu', input_shape=x_train[0].shape))

model.add(MaxPooling2D((2, 2)))


# Capa de convolución 2D y capa de pooling adicionales

model.add(Conv2D(64, (3, 3), activation='relu'))

model.add(MaxPooling2D((2, 2)))


# Capa de aplanado para la conexión con capas completamente conectadas

model.add(Flatten())


# Capa completamente conectada

model.add(Dense(64, activation='relu'))


# Capa de salida con 10 neuronas para las 10 clases en MNIST

model.add(Dense(10, activation='softmax'))


# Compilar el modelo

model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])


# Entrenar el modelo con los datos

model.fit(x_train, y_train, epochs=5, validation_data=(x_test, y_test))


Segunda parte:

import matplotlib.pyplot as plt

import numpy as np


# Calculamos las predicciones utilizando el modelo

predictions = model.predict(x_test)


# Convertimos el tensor x_test a un arreglo de NumPy para visualización

x_test_np = x_test.numpy()


# Visualizar algunas imágenes y sus predicciones

num_images = 10

plt.figure(figsize=(12, 6))

for i in range(num_images):

plt.subplot(2, num_images // 2, i + 1)

plt.imshow(x_test_np[i].reshape(28, 28), cmap='gray')

plt.title(f'Pred: {np.argmax(predictions[i])}, True: {y_test[i]}')

plt.axis('off')

plt.tight_layout()

plt.show()


 
 
 

Entradas recientes

Ver todo

Comentarios


BIENVENIDOS A MI BLOG

INTRODUCCIÓN A LA COMPUTACIÓN - Kely Narda Ortiz Calla

 

INTRODUCCIÓN A LA COMPUTACIÓN - Kely Narda Ortiz Calla

©2023 por INTRODUCCIÓN A LA COMPUTACIÓN - Kely Narda Ortiz Calla. Creado con Wix.com

bottom of page