TensorFlow
Tutorial TensorFlow: Introducción a TensorFlow
Descubre TensorFlow, la herramienta clave en aprendizaje profundo e IA. Aprende sus características, usos en ciencia de datos y cómo implementar modelos avanzados.
Aprende TensorFlow GRATIS y certifícate¿Qué es TensorFlow?
TensorFlow es una biblioteca de código abierto diseñada para realizar tareas de aprendizaje automático y redes neuronales profundas. Fue desarrollada por el equipo de Google Brain y se ha convertido en una herramienta esencial en el campo de la inteligencia artificial. Ofrece una plataforma flexible y eficiente para construir, entrenar y desplegar modelos de aprendizaje profundo.
Características principales de TensorFlow
1. Uso de grafos computacionales
- ¿Qué es un grafo computacional?
Es una representación visual y matemática del flujo de datos y operaciones matemáticas. - Ventajas del grafo:
- Escalabilidad: Permite ejecutar cálculos complejos en múltiples dispositivos como CPUs, GPUs y TPUs.
- Eficiencia: Optimiza el uso de recursos al organizar las operaciones de manera eficiente.
- Estructura: Cada nodo representa una operación matemática y cada arista representa un tensor, que es una estructura de datos multidimensional.
2. Automatización del cálculo del gradiente
- TensorFlow facilita el entrenamiento de modelos mediante la diferenciación automática:
- Calcula los gradientes de manera automática durante la optimización.
- Simplifica el proceso de ajuste de los parámetros del modelo.
- Acelera el desarrollo de redes neuronales al evitar cálculos manuales complejos.
3. APIs de alto nivel
- Keras: Una API amigable y fácil de usar incluida en TensorFlow.
- Permite construir arquitecturas de redes neuronales rápidamente.
- Facilita tareas como:
- Definición de capas.
- Entrenamiento del modelo.
- Evaluación y predicción.
- Ideal para prototipos y tareas comunes de aprendizaje profundo.
4. Compatibilidad con múltiples lenguajes
- Aunque su soporte principal es para Python, TensorFlow también es compatible con otros lenguajes, como:
- C++
- JavaScript (TensorFlow.js)
- R
- Java
- Esto lo hace accesible para una amplia variedad de desarrolladores y proyectos.
5. Extensibilidad
- TensorFlow permite personalizar y ampliar sus capacidades:
- Crear operaciones matemáticas personalizadas.
- Diseñar capas específicas para tareas únicas.
- Integrar TensorFlow en investigaciones avanzadas o soluciones a medida.
6. Ecosistema robusto
TensorFlow incluye una variedad de herramientas complementarias que mejoran el flujo de trabajo:
- TensorBoard: Visualización y monitoreo del entrenamiento de modelos.
- TensorFlow Lite: Despliegue en dispositivos móviles y de IoT.
- TensorFlow Serving: Despliegue de modelos en producción.
- TensorFlow Extended (TFX): Construcción de pipelines de machine learning para producción.
¿Qué hace que TensorFlow sea único?
- Flexibilidad: Admite tanto la investigación experimental como la implementación en producción.
- Escalabilidad: Funciona en dispositivos pequeños como teléfonos móviles hasta supercomputadoras.
- Comunidad activa: Una gran comunidad de desarrolladores y científicos de datos que contribuyen con recursos, tutoriales y soluciones.
Arquitectura de TensorFlow
TensorFlow ofrece una arquitectura robusta y escalable diseñada para construir, entrenar y desplegar modelos de aprendizaje automático de manera eficiente. Su diseño modular y flexible permite adaptarse tanto a necesidades básicas como a proyectos avanzados.
El núcleo de TensorFlow incluye un motor de ejecución que gestiona las operaciones y optimiza su asignación a los recursos disponibles, ya sean CPUs, GPUs o TPUs. Este motor coordina las tareas definidas por los usuarios, maximizando el aprovechamiento del hardware.
TensorFlow está organizado en capas de abstracción:
- En el nivel superior se encuentran las APIs de alto nivel, como Keras, que facilitan la creación de modelos mediante capas predefinidas. Estas APIs son ideales para prototipos rápidos y tareas comunes de aprendizaje profundo.
- En niveles inferiores, ofrece APIs detalladas que permiten mayor control sobre operaciones y recursos. Esto es útil para definir operaciones personalizadas o implementar modelos complejos.
TensorFlow admite dos modos de ejecución:
- Ejecución temprana (Eager Execution): Las operaciones se ejecutan inmediatamente, permitiendo una experiencia interactiva y más sencilla para depurar.
Ejemplo:
import tensorflow as tf
a = tf.constant(2)
b = tf.constant(3)
c = a + b # c es un tensor con valor 5
- Ejecución gráfica: Construye un grafo computacional optimizado para operaciones a gran escala. Este enfoque es más eficiente para entrenar modelos grandes, aprovechando optimizaciones avanzadas.
TensorFlow incluye herramientas para entrenamiento distribuido en múltiples dispositivos o máquinas. Las estrategias de distribución facilitan el paralelismo y la gestión eficiente de recursos, cruciales para trabajar con grandes volúmenes de datos.
El manejo de dispositivos es automático, pero también permite control explícito. Por ejemplo, se puede especificar el uso de una GPU:
with tf.device('/GPU:0'):
result = tf.square(x)
La modularidad es otro pilar clave. Los usuarios pueden crear operaciones y capas personalizadas, lo que permite implementar modelos específicos o experimentar en proyectos de investigación avanzada.
Para el procesamiento de datos, TensorFlow proporciona la API tf.data
. Esta herramienta permite construir pipelines eficientes para leer, transformar y preprocesar datos. Está diseñada para integrarse con el motor de ejecución y maximizar el rendimiento.
Finalmente, TensorFlow es independiente de la plataforma. Su diseño permite que los modelos se desplieguen en diversos entornos, desde servidores hasta dispositivos móviles y sistemas embebidos, con soporte para diferentes sistemas operativos y arquitecturas de hardware.
La arquitectura de TensorFlow combina flexibilidad, eficiencia y escalabilidad, adaptándose a una amplia gama de aplicaciones en el aprendizaje automático y redes neuronales profundas.
Ecosistema de TensorFlow
El ecosistema de TensorFlow está diseñado para simplificar y potenciar el desarrollo de proyectos de aprendizaje automático, ofreciendo herramientas especializadas para cada etapa del ciclo de vida de los modelos. Este ecosistema cubre desde la construcción y el entrenamiento hasta el despliegue y la gestión de modelos.
1. TensorFlow Core
Es el núcleo del ecosistema y proporciona las funcionalidades básicas para construir y entrenar modelos de aprendizaje profundo. Desde la definición de grafos computacionales hasta la ejecución de operaciones avanzadas, TensorFlow Core es la base sobre la que se construyen otras herramientas.
2. TensorFlow Extended (TFX)
Es una plataforma end-to-end para gestionar el ciclo completo de vida de los modelos:
- Preprocesamiento de datos.
- Entrenamiento.
- Evaluación y monitoreo.
- Despliegue en producción.
TFX está diseñado para proyectos en entornos de producción, optimizando los flujos de trabajo y la escalabilidad.
3. TensorFlow Lite
Optimiza los modelos para ejecutarse en dispositivos móviles y embebidos con recursos limitados, como:
- Smartphones.
- Dispositivos IoT.
- Aparatos embebidos.
Permite realizar inferencias de manera eficiente, habilitando aplicaciones como reconocimiento de voz y visión computacional en tiempo real.
4. TensorFlow.js
Lleva el poder de TensorFlow al navegador web:
- Entrena y ejecuta modelos directamente en el cliente usando JavaScript.
- Desarrolla aplicaciones interactivas sin depender de servidores.
Es ideal para construir soluciones ligeras y accesibles a través de la web.
5. TensorBoard
Herramienta esencial para la visualización de:
- Métricas de entrenamiento.
- Arquitecturas de modelos.
- Histogramas y datos relevantes.
Facilita la comprensión del comportamiento de los modelos y ayuda a identificar problemas durante el entrenamiento.
6. TensorFlow Hub
Proporciona acceso a una amplia colección de modelos preentrenados y componentes reutilizables:
- Facilita el transfer learning.
- Acelera el desarrollo al evitar entrenar desde cero.
Es especialmente útil para proyectos que requieren soluciones rápidas y eficientes.
Actualmente este proyecto ha migrado sus modelos a Kaggle
7. Integración Multilenguaje
TensorFlow ofrece bindings para lenguajes como:
- C++
- Java
- Go
Esto amplía su alcance a entornos y aplicaciones más allá de Python, haciendo que los modelos sean reutilizables en diversas plataformas.
8. TensorFlow Serving
Solución especializada para el despliegue de modelos en producción:
- Inferencia en tiempo real.
- Gestión eficiente de actualizaciones de modelos sin interrupciones.
Es ideal para aplicaciones de misión crítica que requieren alta disponibilidad.
9. TensorFlow Probability
Añade capacidades para:
- Modelos probabilísticos.
- Análisis estadístico.
Habilita aplicaciones en campos como la inferencia bayesiana y el modelado estadístico avanzado.
10. Comunidad activa
El ecosistema está respaldado por una comunidad vibrante que:
- Comparte recursos a través de foros y repositorios.
- Colabora en proyectos abiertos.
- Contribuye al avance continuo de la plataforma.
En resumen, el ecosistema de TensorFlow combina herramientas y librerías para cubrir todas las etapas del aprendizaje automático. Desde la investigación y prototipado hasta el despliegue en producción, TensorFlow se adapta a las necesidades de desarrolladores y científicos de datos, facilitando soluciones innovadoras de manera eficiente y escalable.
Usos de TensorFlow en ciencia de datos
TensorFlow es una herramienta fundamental en ciencia de datos, destacándose por su capacidad para manejar cálculos numéricos eficientes y modelos complejos de aprendizaje profundo. Gracias a su versatilidad, se utiliza en diversas aplicaciones que van desde el procesamiento de imágenes hasta el análisis de series temporales.
Procesamiento del Lenguaje Natural (NLP)
TensorFlow facilita tareas como:
- Clasificación de textos: Determinar categorías de documentos.
- Análisis de sentimientos: Identificar emociones en el texto.
- Traducción automática: Construcción de modelos avanzados como transformers (BERT, GPT) que comprenden y generan lenguaje natural con gran precisión.
Visión por computadora
TensorFlow es ampliamente usado en modelos de redes neuronales convolucionales (CNN) para:
- Reconocimiento facial.
- Conducción autónoma.
- Análisis médico: Detección de anomalías en imágenes.
La capacidad de manejar grandes volúmenes de datos y aprovechar GPU lo hace ideal para estas tareas intensivas.
Análisis de series temporales
Con TensorFlow, es posible modelar datos secuenciales mediante redes neuronales recurrentes como LSTM y GRU, utilizadas para:
- Predicción financiera.
- Análisis meteorológico.
- Monitorización de sistemas.
Sistemas de recomendación
TensorFlow permite:
- Analizar el comportamiento de los usuarios.
- Proporcionar sugerencias personalizadas en comercio electrónico, plataformas de contenido y redes sociales mediante técnicas como embeddings.
Detección de fraudes y anomalías
Utilizando autoencoders y aprendizaje no supervisado, TensorFlow puede identificar patrones atípicos en:
- Transacciones financieras.
- Datos operativos.
Integración con herramientas de Ciencia de Datos
TensorFlow se integra fácilmente con:
- Pandas y NumPy: Facilita el preprocesamiento y manipulación de datos.
- Formatos estandarizados: Simplifica flujos de trabajo complejos.
Aprendizaje Automático Automatizado (AutoML)
TensorFlow ofrece:
- Keras Tuner: Para optimizar parámetros y arquitecturas de modelos.
- TensorFlow Model Garden: Acceso a modelos predefinidos, acelerando el desarrollo.
Bioinformática
Aplicaciones incluyen:
- Análisis de secuencias genéticas.
- Predicción de estructuras proteicas.
- Modelado de interacciones moleculares.
Despliegue en Producción
Con TensorFlow Serving, se facilita:
- Predicciones en tiempo real.
- Implementación de modelos robustos y escalables.
Escalabilidad y Big Data
TensorFlow soporta:
- Entrenamiento distribuido.
- Manejo de grandes volúmenes de datos en entornos de computación en clústeres.
Diferencias con otras librerías como PyTorch y Scikit Learn
Existen varias librerías clave en el aprendizaje automático, como TensorFlow, PyTorch y Scikit Learn, cada una diseñada para diferentes propósitos. Aunque comparten el objetivo de facilitar la creación de modelos de machine learning, difieren significativamente en enfoque, casos de uso y características.
TensorFlow vs. PyTorch
1. Filosofía de ejecución:
- PyTorch: Utiliza ejecución ansiosa por defecto, evaluando las operaciones de inmediato. Esto facilita la depuración y el desarrollo iterativo.
- TensorFlow: Originalmente usaba ejecución gráfica (grafo computacional estático), pero a partir de la versión 2.x adoptó la ejecución ansiosa, manteniendo también la opción de crear grafos optimizados con
tf.function
.
2. Usos principales:
- PyTorch: Preferido en investigación y prototipado por su flexibilidad al construir y modificar modelos dinámicos.
- TensorFlow: Destaca en la industria gracias a sus herramientas para producción, como TensorFlow Serving y TensorFlow Lite.
3. APIs de alto nivel:
- TensorFlow incluye Keras, una API fácil de usar que acelera el desarrollo de modelos.
- PyTorch ofrece Torch.nn, que aunque es poderosa, suele requerir más configuración manual.
TensorFlow vs. Scikit Learn
1. Enfoque:
- TensorFlow: Diseñado para aprendizaje profundo y tareas que requieren alto poder computacional, como redes neuronales convolucionales y recurrentes.
- Scikit Learn: Enfocado en el machine learning tradicional, como regresión, clasificación y clustering, con un enfoque en simplicidad y datos tabulares.
2. Capacidades computacionales:
- TensorFlow: Compatible con GPUs y TPUs para acelerar cálculos intensivos.
- Scikit Learn: Optimizado para CPUs; no está diseñado para redes neuronales profundas.
3. Usabilidad:
- TensorFlow: Adecuado para problemas complejos que requieren modelos avanzados.
- Scikit Learn: Ideal para proyectos con datos tabulares y algoritmos tradicionales como árboles de decisión o máquinas de soporte vectorial.
Para ilustrar algunas diferencias prácticas, consideremos el entrenamiento de un modelo de clasificación en cada una de las librerías.
En Scikit Learn, entrenar un clasificador es directo y utiliza pocos pasos:
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris
# Cargar el conjunto de datos
X, y = load_iris(return_X_y=True)
# Crear y entrenar el modelo
model = RandomForestClassifier()
model.fit(X, y)
# Realizar una predicción
prediction = model.predict([X[0]])
print(prediction)
En TensorFlow con Keras, el proceso implica definir una arquitectura de red neuronal:
import tensorflow as tf
from keras import layers
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import OneHotEncoder
# Cargar el conjunto de datos Iris
iris = load_iris()
X, y = iris.data, iris.target
# Codificar las etiquetas en formato one-hot
encoder = OneHotEncoder(sparse_output=False)
y_encoded = encoder.fit_transform(y.reshape(-1, 1))
# Dividir los datos en conjuntos de entrenamiento y prueba
X_train, X_test, y_train, y_test = train_test_split(X, y_encoded, test_size=0.2, random_state=42)
# Crear el modelo
model = tf.keras.Sequential([
layers.Dense(64, activation='relu', input_shape=(X_train.shape[1],)),
layers.Dense(3, activation='softmax')
])
# Compilar el modelo
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
# Entrenar el modelo
model.fit(X_train, y_train, epochs=100, verbose=1)
# Evaluar el modelo
loss, accuracy = model.evaluate(X_test, y_test)
print(f'Loss: {loss}, Accuracy: {accuracy}')
# Realizar una predicción
single_input = X_test[0].reshape(1, -1)
prediction = model.predict(single_input)
print('Predicción:', prediction)
En PyTorch, el proceso requiere definir el modelo y el ciclo de entrenamiento manualmente:
import torch
import torch.nn as nn
import torch.optim as optim
from sklearn.datasets import load_iris
# Cargar el conjunto de datos
X, y = load_iris(return_X_y=True)
X = torch.tensor(X, dtype=torch.float32)
y = torch.tensor(y, dtype=torch.long)
# Definir el modelo
class IrisNet(nn.Module):
def __init__(self):
super(IrisNet, self).__init__()
self.fc1 = nn.Linear(4, 64)
self.relu = nn.ReLU()
self.fc2 = nn.Linear(64, 3)
def forward(self, x):
x = self.relu(self.fc1(x))
x = self.fc2(x)
return x
model = IrisNet()
criterion = nn.CrossEntropyLoss()
optimizer = optim.Adam(model.parameters(), lr=0.001, weight_decay=0.01)
# Entrenar el modelo
for epoch in range(100):
optimizer.zero_grad()
outputs = model(X)
loss = criterion(outputs, y)
loss.backward()
optimizer.step()
# Realizar una predicción
with torch.no_grad():
prediction = model(X[0])
print("Predicción (sin softmax):", prediction)
print("Predicción (con softmax):", torch.softmax(prediction, dim=0))
Estos ejemplos muestran cómo Scikit Learn es más sencillo para modelos estándar, mientras que TensorFlow y PyTorch ofrecen más control y son adecuados para modelos de aprendizaje profundo más complejos.
En cuanto a la implementación en producción, TensorFlow proporciona herramientas específicas para desplegar modelos en diferentes entornos, incluyendo dispositivos móviles mediante TensorFlow Lite y servicios web con TensorFlow Serving. PyTorch ha introducido recientemente TorchScript y TorchServe para facilitar el despliegue, pero estas herramientas están menos maduras en comparación con las de TensorFlow.
Finalmente, en relación con el rendimiento, tanto TensorFlow como PyTorch están optimizados para aprovechar los recursos de hardware modernos, como GPUs y TPUs, lo que es esencial para el entrenamiento eficiente de modelos de gran escala. Scikit Learn, aunque eficiente para datasets pequeños y medianos, no está diseñado para aprovechar estos aceleradores y puede no ser adecuado para tareas de alto rendimiento computacional.
Instalación de TensorFlow con pip y comprobación de versión
Para empezar a utilizar TensorFlow en su entorno de desarrollo, es necesario instalarlo mediante pip, el gestor de paquetes de Python. A continuación, se detallan los pasos para realizar una instalación correcta y verificar la versión instalada.
Instalación de Python
Es fundamental contar con Python instalado en su sistema, ya que TensorFlow requiere una versión compatible de Python. Puede descargar el instalador desde el sitio oficial de Python:
https://www.python.org/downloads/
Creación de un entorno virtual
Se recomienda utilizar un entorno virtual para aislar las dependencias del proyecto y evitar conflictos con otras instalaciones. Para crear un entorno virtual con venv, ejecute:
python3.12 -m venv tensorflow_env
Esto creará un entorno virtual llamado tensorflow_env. Para activarlo, utilice:
- En Linux o macOS:
source tensorflow_env/bin/activate
- En Windows:
tensorflow_env\Scripts\activate
Actualización de pip
Antes de instalar TensorFlow, asegúrese de que pip está actualizado a la última versión:
pip install --upgrade pip
Instalación de TensorFlow
Con el entorno virtual activado y pip actualizado, proceda a instalar TensorFlow ejecutando:
pip install tensorflow
Este comando instalará la versión más reciente de TensorFlow compatible con Python. Desde TensorFlow 2.1, el soporte para GPU está incluido en el paquete principal, por lo que no es necesario instalar un paquete separado.
Nota: Para utilizar TensorFlow con GPU, asegúrese de tener instalados los controladores y bibliotecas de CUDA y cuDNN compatibles. Consulte la documentación oficial para obtener información detallada sobre las versiones requeridas.
Comprobación de la instalación
Para verificar que TensorFlow se ha instalado correctamente, abra una consola de Python y ejecute:
import tensorflow as tf
print("Versión de TensorFlow:", tf.__version__)
Al ejecutar este código, debería ver en la salida la versión de TensorFlow instalada, confirmando que la instalación ha sido exitosa. Por ejemplo:
Versión de TensorFlow: 2.18.0
Verificación del soporte de GPU
Si dispone de una GPU y desea comprobar si TensorFlow la está utilizando, puede ejecutar:
import tensorflow as tf
gpus = tf.config.list_physical_devices('GPU')
if gpus:
print("GPUs detectadas:")
for gpu in gpus:
print(gpu)
else:
print("No se han detectado GPUs disponibles")
Este código mostrará las GPUs detectadas por TensorFlow. Si no se detecta ninguna, se utilizará la CPU para las operaciones.
Instalación de una versión específica
Si necesita instalar una versión específica de TensorFlow, puede especificarla al instalar con pip. Por ejemplo, para instalar la versión 2.18.0:
pip install tensorflow==2.18.0
Esto es útil cuando se trabaja en un proyecto que requiere una versión concreta de TensorFlow.
Instalación de paquetes adicionales
TensorFlow ofrece paquetes adicionales para funciones específicas. Por ejemplo, para instalar TensorFlow Probability:
pip install tensorflow-probability
Si desea instalar todos los paquetes recomendados, puede utilizar:
pip install tensorflow[full]
Actualización de TensorFlow
Para actualizar TensorFlow a la última versión disponible, ejecute:
pip install --upgrade tensorflow
Este comando actualizará TensorFlow y todas sus dependencias.
Resolución de problemas comunes
Si encuentra problemas durante la instalación, considere lo siguiente:
- Verifique que está utilizando Python y que el entorno virtual está activado.
- Asegúrese de que pip está actualizado.
- Compruebe la compatibilidad de su sistema con la versión de TensorFlow que intenta instalar.
- Si utiliza Windows, asegúrese de tener instaladas las Microsoft Visual C++ Redistributable necesarias.
- Para instalaciones con soporte de GPU, confirme que tiene instaladas las versiones correctas de CUDA y cuDNN.
Desinstalación de TensorFlow
Si necesita desinstalar TensorFlow, puede hacerlo con:
pip uninstall tensorflow
Este comando eliminará TensorFlow del entorno virtual actual.
Todas las lecciones de TensorFlow
Accede a todas las lecciones de TensorFlow y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.
Introducción Al Deep Learning Y Redes Neuronales
Introducción Y Entorno
Introducción A Tensorflow
Introducción Y Entorno
Introducción A Keras
Introducción Y Entorno
Redes Neuronales De Múltiples Capas
Introducción Y Entorno
Algoritmo De Backpropagation
Introducción Y Entorno
Implementación De Una Red Neuronal Con Numpy
Introducción Y Entorno
Modelo Con Api Secuencial
Construcción De Modelos Con Keras
Modelo Con Api Funcional
Construcción De Modelos Con Keras
Subclases De Modelos
Construcción De Modelos Con Keras
Capas En Keras
Construcción De Modelos Con Keras
Funciones De Activación
Construcción De Modelos Con Keras
Redes Neuronales Densas De Regresión
Construcción De Modelos Con Keras
Redes Neuronales Densas De Clasificación Binaria
Construcción De Modelos Con Keras
Redes Neuronales Densas De Clasificación Multiclase
Construcción De Modelos Con Keras
Redes Convolucionales Cnn
Construcción De Modelos Con Keras
Redes Recurrentes Rnn
Construcción De Modelos Con Keras
Redes Neuronales Mixtas
Construcción De Modelos Con Keras
Api Dataset
Procesamiento De Datos
Manejo De Valores Faltantes
Procesamiento De Datos
Encoding De Valores Categóricos En Continuos
Procesamiento De Datos
Preprocesados De Escalado, Normalización Y Estandarización
Procesamiento De Datos
Generación De Nuevas Características
Procesamiento De Datos
Algoritmos De Optimización
Entrenamiento Y Evaluación De Modelos
Técnicas De Validación
Entrenamiento Y Evaluación De Modelos
Monitorización De Entrenamiento
Entrenamiento Y Evaluación De Modelos
Redes Generativas Adversariales Gans
Técnicas Avanzadas
Transformers
Técnicas Avanzadas
Autoencoders
Técnicas Avanzadas
Carga De Capas Ya Hechas
Técnicas Avanzadas
Regularización De Modelos
Herramientas Y Optimización
Hiperparámetros Con Keras Tuner
Herramientas Y Optimización
Tensorboard
Herramientas Y Optimización
Uso De Tensorflow Keras En Gpu
Herramientas Y Optimización
Objetivos de aprendizaje de esta lección
- Comprender los conceptos fundamentales de TensorFlow y su ecosistema.
- Aprender a construir modelos de aprendizaje profundo usando Keras en TensorFlow.
- Explorar el uso de TensorFlow para visión por computadora y procesamiento de lenguaje natural.
- Conocer las diferencias entre TensorFlow y otras librerías como PyTorch y Scikit Learn.
- Implementar y desplegar modelos de aprendizaje automático con TensorFlow Serving y TensorFlow Lite.