TensorFlow
Explora los conceptos fundamentales, la arquitectura y el ecosistema de TensorFlow. Aprende cómo exportar modelos de Ultralytics YOLO26 para una implementación fluida en TFLite, JS y más.
TensorFlow es una biblioteca de software libre y completa para machine learning (ML) y artificial intelligence (AI), desarrollada originalmente por el equipo de Google Brain. Sirve como plataforma fundamental que permite a los desarrolladores construir, entrenar y desplegar modelos sofisticados de deep learning. Aunque se utiliza ampliamente para crear redes neuronales a gran escala, su arquitectura flexible le permite ejecutarse en una variedad de plataformas, desde potentes servidores en la nube y Graphics Processing Units (GPUs) hasta dispositivos móviles y sistemas de edge computing. Esta versatilidad la convierte en una herramienta fundamental para industrias que van desde la sanidad y las finanzas hasta la ingeniería automotriz.
Conceptos clave y arquitectura#
El framework deriva su nombre de los "tensores", que son matrices de datos multidimensionales que fluyen a través de un grafo computacional. Este enfoque basado en grafos permite a TensorFlow gestionar operaciones matemáticas complejas de manera eficiente.
- Grafos computacionales: TensorFlow utiliza tradicionalmente un grafo de flujo de datos para representar los cálculos. Los nodos del grafo representan operaciones matemáticas, mientras que las aristas representan las matrices de datos multidimensionales (tensores) que se comunican entre ellos. Esta estructura es excelente para el distributed training en múltiples procesadores.
- Integración con Keras: Las versiones modernas del framework se integran estrechamente con Keras, una API de alto nivel diseñada para seres humanos, no para máquinas. Keras simplifica el proceso de creación de neural networks (NN) al abstraer gran parte de la complejidad de bajo nivel, lo que facilita a los principiantes la creación de prototipos de modelos.
- Eager Execution: A diferencia de sus versiones anteriores, que dependían en gran medida de grafos estáticos, las iteraciones más recientes utilizan eager execution por defecto. Esto permite evaluar las operaciones de inmediato, lo que simplifica la depuración y hace que la experiencia de programación sea más intuitiva, de forma similar a la programación estándar en Python.
Aplicaciones en el mundo real#
TensorFlow es fundamental para impulsar muchas tecnologías que afectan a la vida diaria y a las operaciones industriales.
- Clasificación de imágenes y detección de objetos: Se utiliza ampliamente para entrenar Convolutional Neural Networks (CNNs) con el fin de identificar objetos dentro de las imágenes. Por ejemplo, en el medical image analysis, los modelos construidos sobre este framework pueden ayudar a los radiólogos detectando anomalías como tumores en radiografías o resonancias magnéticas con gran precisión.
- Procesamiento del Lenguaje Natural (NLP): Muchos Large Language Models (LLMs) y servicios de traducción confían en TensorFlow para procesar y generar lenguaje humano. Impulsa aplicaciones como asistentes de voz y herramientas de sentiment analysis que ayudan a las empresas a comprender los comentarios de los clientes interpretando datos de texto a escala.
Comparación con PyTorch#
Aunque ambos son marcos dominantes en el panorama de la inteligencia artificial, TensorFlow difiere significativamente de PyTorch. PyTorch suele preferirse en la investigación académica por su grafo computacional dinámico, que permite realizar cambios sobre la marcha en la estructura de la red. En contraste, históricamente se ha preferido TensorFlow para la model deployment en entornos de producción debido a su robusto ecosistema, que incluye TensorFlow Serving y TensorFlow Lite para móviles. Sin embargo, las actualizaciones modernas han acercado a ambos marcos en términos de facilidad de uso y características.
Integración con Ultralytics#
Los modelos de Ultralytics, como el vanguardista YOLO26, están construidos con PyTorch, pero ofrecen una interoperabilidad perfecta con el ecosistema de TensorFlow. Esto se logra mediante modos de exportación que permiten a los usuarios convertir modelos YOLO entrenados a formatos compatibles con el framework de Google, como SavedModel, TF.js o TFLite. Esta flexibilidad garantiza que los usuarios puedan entrenar en la Ultralytics Platform y desplegar en dispositivos que requieran formatos específicos.
El siguiente ejemplo demuestra cómo exportar un modelo de Ultralytics YOLO26 a un formato compatible con este ecosistema:
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TensorFlow SavedModel format
# This creates a directory containing the model assets
model.export(format="saved_model")Herramientas relacionadas y ecosistema#
El framework cuenta con el respaldo de un completo conjunto de herramientas diseñadas para gestionar todo el ciclo de vida del machine learning operations (MLOps):
- TensorBoard: Un potente kit de herramientas de visualización que ayuda a los investigadores a realizar un seguimiento de métricas como las loss functions y la precisión durante el entrenamiento. Proporciona una interfaz gráfica para inspeccionar grafos de modelos y depurar problemas de rendimiento. Puedes utilizar la TensorBoard integration con Ultralytics para visualizar tus ejecuciones de entrenamiento de YOLO.
- TensorFlow Lite: Una solución ligera diseñada específicamente para edge AI y despliegue en móviles. Optimiza los modelos para que se ejecuten de manera eficiente en dispositivos con energía y memoria limitadas, como smartphones y microcontroladores.
- TensorFlow.js: Esta biblioteca permite que los modelos de ML se ejecuten directamente en el navegador o en Node.js. Permite realizar inference del lado del cliente, lo que significa que no es necesario enviar datos a un servidor, lo que mejora la privacidad y reduce la latencia.
- TFX (TensorFlow Extended): Una plataforma integral para desplegar pipelines de producción. Ayuda a automatizar la validación de datos, el model training y el serving, garantizando aplicaciones de IA escalables y fiables.






