TensorFlow
Explora los conceptos fundamentales, la arquitectura y el ecosistema de TensorFlow. Aprende a exportar modelos Ultralytics YOLO26 para desplegarlos fácilmente en TFLite, JS y mucho más.
TensorFlow es una biblioteca de software integral y de código abierto para el aprendizaje automático (ML) y la inteligencia artificial (AI), desarrollada originalmente por el equipo Google Brain. Sirve como plataforma fundacional que permite a los desarrolladores crear, entrenar e implementar modelos sofisticados de aprendizaje profundo. Aunque se utiliza ampliamente para crear redes neuronales a gran escala, su arquitectura flexible le permite ejecutarse en una gran variedad de plataformas, desde potentes servidores en la nube y unidades de procesamiento gráfico (GPUs) hasta dispositivos móviles y sistemas de computación periférica. Esta versatilidad lo convierte en una herramienta esencial para sectores que van desde la sanidad y las finanzas hasta la ingeniería de automoción.
Conceptos básicos y arquitectura#
El framework debe su nombre a 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 forma 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 entrenamiento distribuido en varios procesadores.
- Integración con Keras: Las versiones modernas del framework se integran estrechamente con Keras, una API de alto nivel diseñada para las personas, no para las máquinas. Keras simplifica el proceso de creación de redes neuronales (NN) al abstraer gran parte de la complejidad de bajo nivel, lo que facilita que los recién llegados creen prototipos de modelos.
- Ejecución eager: A diferencia de las primeras versiones, que dependían en gran medida de grafos estáticos, las versiones más recientes utilizan de forma predeterminada la ejecución eager. Esto permite evaluar las operaciones inmediatamente, lo que simplifica la depuración y hace que la experiencia de programación sea más intuitiva, 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 cotidiana y a las operaciones industriales.
- Clasificación de imágenes y detección de objetos: Se utiliza ampliamente para entrenar redes neuronales convolucionales (CNNs) con el fin de identificar objetos dentro de imágenes. Por ejemplo, en el análisis de imágenes médicas, los modelos creados con este framework pueden ayudar a los radiólogos a detectar anomalías, como tumores, en radiografías o exploraciones de resonancia magnética con gran precisión.
- Procesamiento del lenguaje natural (NLP): Muchos modelos de lenguaje grandes (LLMs) y servicios de traducción dependen de TensorFlow para procesar y generar lenguaje humano. Impulsa aplicaciones como los asistentes de voz y las herramientas de análisis de sentimientos, que ayudan a las empresas a comprender los comentarios de los clientes interpretando datos de texto a gran escala.
Comparación con PyTorch#
Aunque ambos son frameworks predominantes en el ámbito de la IA, TensorFlow difiere significativamente de PyTorch. PyTorch suele ser el preferido en la investigación académica por su grafo computacional dinámico, que permite modificar la estructura de la red sobre la marcha. En cambio, TensorFlow se ha preferido históricamente para la implementación de modelos en entornos de producción gracias a su sólido ecosistema, que incluye TensorFlow Serving y TensorFlow Lite para dispositivos móviles. Sin embargo, las actualizaciones modernas han acercado ambos frameworks en cuanto a facilidad de uso y funcionalidades.
Integración con Ultralytics#
Los modelos de Ultralytics, como el avanzado YOLO26, se crean con PyTorch, pero ofrecen una interoperabilidad fluida con el ecosistema de TensorFlow. Esto se consigue mediante modos de exportación que permiten convertir modelos YOLO entrenados a formatos compatibles con el framework de Google, como SavedModel, TF.js o TFLite. Esta flexibilidad garantiza que puedas entrenar en la Ultralytics Platform e implementar los modelos en dispositivos que requieran formatos específicos.
El siguiente ejemplo muestra cómo exportar un modelo YOLO26 de Ultralytics 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 y ecosistema relacionados#
El framework cuenta con un completo conjunto de herramientas diseñadas para gestionar todo el ciclo de vida de las operaciones de aprendizaje automático (MLOps):
- TensorBoard: Un potente kit de herramientas de visualización que ayuda a los investigadores a realizar un seguimiento de métricas como las funciones de pérdida y la precisión durante el entrenamiento. Proporciona una interfaz gráfica para inspeccionar los grafos de los modelos y depurar problemas de rendimiento. Puedes utilizar la integración con TensorBoard con Ultralytics para visualizar tus ejecuciones de entrenamiento de YOLO.
- TensorFlow Lite: Una solución ligera diseñada específicamente para la IA periférica y la implementación en dispositivos móviles. Optimiza los modelos para que se ejecuten de forma eficiente en dispositivos con potencia y memoria limitadas, como smartphones y microcontroladores.
- TensorFlow.js: Esta biblioteca permite ejecutar modelos de ML directamente en el navegador o en Node.js. Permite realizar inferencias en el lado del cliente, lo que significa que no es necesario enviar los datos a un servidor, mejorando la privacidad y reduciendo la latencia.
- TFX (TensorFlow Extended): Una plataforma integral para implementar pipelines de producción. Ayuda a automatizar la validación de datos, el entrenamiento de modelos y la puesta en servicio, garantizando aplicaciones de IA escalables y fiables.









