Explore PyTorch, the core library powering Ultralytics YOLO26. Learn about its dynamic graphs, GPU acceleration, and how to build efficient deep learning models.
PyTorch is an open-source machine learning library primarily developed by Meta AI that has become a cornerstone for researchers and developers in the field of deep learning. Known for its flexibility and ease of use, it allows users to build and train complex neural networks using a dynamic computational graph. This feature, often referred to as "eager execution," enables code to be evaluated immediately, making debugging and prototyping significantly more intuitive compared to frameworks that rely on static graph definitions. It integrates seamlessly with the Python programming language, feeling like a natural extension of standard scientific computing tools.
At the heart of this framework are tensors, which are multi-dimensional arrays similar to those found in the NumPy documentation. However, unlike standard arrays, PyTorch tensors are designed to leverage GPU acceleration provided by NVIDIA CUDA. This hardware acceleration is critical for the massive parallel processing required to train modern artificial intelligence (AI) models efficiently.
The library supports a vast ecosystem of tools for computer vision (CV) and natural language processing. By providing a rich set of pre-built layers, optimizers, and loss functions, it simplifies the process of creating algorithms for tasks like image classification and sequence modeling.
The versatility of this framework has led to its adoption across diverse industries for high-impact AI solutions:
To better understand its role, it is helpful to distinguish PyTorch from other common tools in the AI stack:
The entire Ultralytics model family, including the cutting-edge YOLO26 and the widely used YOLO11, is built natively on PyTorch. This foundation ensures that users benefit from the framework's speed, stability, and extensive community support. Whether performing transfer learning on custom training data or exporting models for edge devices, the underlying architecture relies on PyTorch tensors and gradients.
The upcoming Ultralytics Platform further simplifies this experience, providing a unified interface to manage dataset sourcing, training, and deployment without needing to write extensive boilerplate code.
The following example demonstrates how to verify GPU availability and run inference using a YOLO model, showcasing how the framework handles hardware acceleration under the hood:
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)