Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Volver al glosario de Ultralytics

PyTorch

PyTorch es un framework de código abierto para Python que permite crear y entrenar redes neuronales con tensores de GPU y autograd. Descubre sus conceptos básicos y la ruta de despliegue.

PyTorch es un framework de código abierto para crear, entrenar y desplegar redes neuronales en Python. Proporciona tensores acelerados por GPU, diferenciación automática y una biblioteca de capas, optimizadores y funciones de pérdida. Además, ejecuta el código de forma inmediata, línea a línea, por lo que los modelos se escriben y depuran como programas normales de Python. Creado en Facebook AI Research, ahora Meta AI, PyTorch está bajo la gobernanza de PyTorch Foundation, independiente de proveedores, desde 2022, dentro de Linux Foundation, y se usa ampliamente para la investigación de aprendizaje profundo y los modelos de producción en visión artificial y lenguaje.

Conceptos básicos#

  • Tensores: matrices multidimensionales, como las matrices NumPy, que pueden estar en una CPU o en un acelerador. PyTorch admite GPU NVIDIA mediante CUDA, GPU AMD mediante ROCm y Apple silicon mediante Metal (MPS); para mover datos entre ellos basta con una llamada a .to(device).
  • Autograd: a medida que se ejecutan las operaciones con tensores, PyTorch las registra en un grafo computacional. Al llamar a .backward(), recorre ese grafo en sentido inverso y calcula el gradiente de la salida con respecto a cada tensor que lo necesita; este es el paso de retropropagación del entrenamiento.
  • Ejecución inmediata: el grafo se reconstruye en cada pasada hacia delante, por lo que los modelos pueden usar bucles, condicionales y sentencias print de Python, y los errores señalan la línea exacta que ha fallado.
  • Módulos y optimizadores: torch.nn proporciona capas como convoluciones, mecanismos de atención y normalización, mientras que torch.optim proporciona optimizadores como SGD y Adam, que actualizan los pesos a partir de los gradientes calculados.
  • torch.compile: incorporado en PyTorch 2.0, captura el programa de ejecución inmediata como un grafo y genera kernels fusionados, lo que a menudo acelera el entrenamiento y la inferencia sin modificar el código del modelo.

El siguiente ejemplo ejecuta un pequeño cálculo en una GPU si hay una disponible y permite que autograd calcule su gradiente:

import torch

# Use a GPU when PyTorch can see one, otherwise fall back to the CPU
device = "cuda" if torch.cuda.is_available() else "cpu"

# Tensors record the operations applied to them when requires_grad=True
w = torch.tensor([2.0, -1.0], device=device, requires_grad=True)
x = torch.tensor([3.0, 4.0], device=device)

# Ordinary Python runs eagerly: each line executes immediately
loss = (w * x).sum() ** 2

# Autograd walks the recorded graph backward to get d(loss)/dw
loss.backward()
print(f"device={device}, loss={loss.item()}, grad={w.grad.tolist()}")

En una máquina sin GPU, imprime device=cpu, loss=4.0, grad=[12.0, 16.0]. La pérdida es (2·3 − 1·4)² = 4, y autograd devuelve su derivada 2·(w·x)·x = [12, 16] sin necesidad de cálculos escritos a mano; es el mismo mecanismo que entrena redes con miles de millones de pesos.

PyTorch frente a otras herramientas#

  • TensorFlow: el framework de Google, que construía grafos estáticos antes de ejecutarlos hasta que TensorFlow 2 convirtió la ejecución inmediata en la opción predeterminada. Sigue siendo habitual en sistemas de producción basados en Keras y las herramientas de despliegue de Google.
  • JAX: biblioteca numérica de Google que transforma funciones puras de Python con las operaciones grad, jit y vmap, compiladas mediante XLA; es popular para la investigación a gran escala en TPU.
  • OpenCV: biblioteca de visión artificial para leer, transformar y analizar imágenes con algoritmos clásicos. En los pipelines se suele usar OpenCV para cargar y preprocesar fotogramas antes de que los procese un modelo de PyTorch.
  • Hugging Face: hub y conjunto de bibliotecas basados en gran medida en PyTorch, cuya biblioteca Transformers proporciona modelos preentrenados de lenguaje y visión como módulos de PyTorch.

De la investigación al despliegue#

Un modelo de PyTorch entrenado se guarda como un punto de control, normalmente en un archivo .pt o .pth que contiene sus pesos. Puede ejecutarse tal cual en un servicio de Python, pero los dispositivos de borde y los servidores optimizados suelen necesitar que se convierta a un entorno de ejecución diseñado para su hardware:

Ultralytics YOLO26 está escrito en PyTorch: yolo26n.pt es un punto de control de PyTorch, el entrenamiento se ejecuta con autograd y los optimizadores de PyTorch, y model.export() convierte el modelo a estos formatos de despliegue, como ONNX, TensorRT, OpenVINO, Core ML y LiteRT.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático