PyTorch
Explora PyTorch, la biblioteca central que impulsa a Ultralytics YOLO26. Aprende sobre sus grafos dinámicos, aceleración por GPU y cómo construir modelos eficientes de aprendizaje profundo.
PyTorch es una librería de aprendizaje automático de código abierto desarrollada principalmente por Meta AI que se ha convertido en un pilar fundamental para investigadores y desarrolladores en el campo del aprendizaje profundo. Conocida por su flexibilidad y facilidad de uso, permite a los usuarios construir y entrenar redes neuronales complejas utilizando un grafo computacional dinámico. Esta característica, a menudo denominada "ejecución diligente" (eager execution), permite evaluar el código de inmediato, lo que hace que la depuración y la creación de prototipos sean mucho más intuitivas en comparación con los marcos que dependen de definiciones de grafos estáticos. Se integra a la perfección con el lenguaje de programación Python, sintiéndose como una extensión natural de las herramientas estándar de computación científica.
Mecánica central y significado#
En el núcleo de este marco se encuentran los tensores, que son matrices multidimensionales similares a las que se encuentran en la documentación de NumPy. Sin embargo, a diferencia de las matrices estándar, los tensores de PyTorch están diseñados para aprovechar la aceleración de GPU proporcionada por NVIDIA CUDA. Esta aceleración de hardware es fundamental para el procesamiento paralelo masivo necesario para entrenar de forma eficiente modelos modernos de inteligencia artificial (IA).
La librería admite un vasto ecosistema de herramientas para visión por ordenador (CV) y procesamiento de lenguaje natural. Al proporcionar un conjunto enriquecido de capas preconstruidas, optimizadores y funciones de pérdida, simplifica el proceso de creación de algoritmos para tareas como la clasificación de imágenes y el modelado de secuencias.
Aplicaciones en el mundo real#
La versatilidad de este marco ha llevado a su adopción en diversas industrias para soluciones de IA de alto impacto:
-
Vehículos Autónomos: Los líderes de la industria aprovechan PyTorch para construir modelos de aprendizaje profundo que procesan transmisiones de vídeo de las cámaras de los coches. Estos modelos realizan detección de objetos en tiempo real para identificar carriles, señales y peatones, lo que permite una navegación más segura.
-
Diagnóstico Médico: Los investigadores utilizan el marco para desarrollar aplicaciones avanzadas de salud. Por ejemplo, impulsa sistemas que analizan exploraciones por resonancia magnética o rayos X para ayudar a los médicos a detectar tumores mediante una segmentación de imágenes precisa.
Comparación con herramientas relacionadas#
Para entender mejor su papel, resulta útil distinguir PyTorch de otras herramientas comunes en la pila de IA:
- Frente a TensorFlow: Desarrollado por Google, TensorFlow se basaba históricamente en grafos computacionales estáticos, lo que dificultaba la depuración pero optimizaba el despliegue. Aunque ambos marcos han convergido en sus características, PyTorch se prefiere a menudo para la creación rápida de prototipos y la investigación debido a su interfaz intuitiva.
- Frente a OpenCV: OpenCV es una librería centrada en funciones tradicionales de procesamiento de imágenes (como el cambio de tamaño, el filtrado y la conversión de color) en lugar de en el entrenamiento de redes neuronales. En un flujo de trabajo típico, los desarrolladores utilizan OpenCV para el preprocesamiento de datos antes de introducir las imágenes en un modelo de PyTorch para su análisis.
Integración con Ultralytics#
Toda la familia de modelos Ultralytics, incluyendo el vanguardista YOLO26 y el ampliamente utilizado YOLO11, está construida de forma nativa sobre PyTorch. Esta base garantiza que los usuarios se beneficien de la velocidad, la estabilidad y el amplio soporte de la comunidad del marco. Ya sea realizando aprendizaje por transferencia en datos de entrenamiento personalizados o exportando modelos para dispositivos de borde, la arquitectura subyacente se basa en tensores y gradientes de PyTorch.
La próxima Ultralytics Platform simplifica aún más esta experiencia, proporcionando una interfaz unificada para gestionar la obtención de conjuntos de datos, el entrenamiento y el despliegue sin necesidad de escribir una gran cantidad de código repetitivo (boilerplate).
El siguiente ejemplo demuestra cómo verificar la disponibilidad de la GPU y ejecutar la inferencia usando un modelo YOLO, mostrando cómo el marco maneja la aceleración de hardware internamente:
import torch
from ultralytics import YOLO
# Check if CUDA (GPU) is available for PyTorch acceleration
device = "cuda" if torch.cuda.is_available() else "cpu"
print(f"PyTorch is using device: {device}")
# Load a YOLO26n model (built on PyTorch)
model = YOLO("yolo26n.pt")
# Perform object detection on an image
# PyTorch handles tensor operations and moves data to the GPU automatically
results = model("https://ultralytics.com/images/bus.jpg", device=device)





