Esplora PyTorch, la libreria principale che alimenta Ultralytics . Scopri i suoi grafici dinamici, GPU e come creare modelli di deep learning efficienti.
PyTorch una libreria open source di machine learning sviluppata principalmente da Meta AI che è diventata un punto di riferimento per ricercatori e sviluppatori nel campo del deep learning. Nota per la sua flessibilità e facilità d'uso, consente agli utenti di costruire e addestrare complesse reti neurali utilizzando un grafico computazionale dinamico . Questa caratteristica, spesso denominata "esecuzione immediata", consente di valutare immediatamente il codice, rendendo il debug e la prototipazione significativamente più intuitivi rispetto ai framework che si basano su definizioni grafiche statiche. Si integra perfettamente con il linguaggio Python , sembrando una naturale estensione degli strumenti di calcolo scientifico standard.
Il cuore di questo framework sono i tensori, che sono array multidimensionali simili a quelli presenti nella NumPy . Tuttavia, a differenza degli array standard , PyTorch sono progettati per sfruttare GPU fornita da NVIDIA CUDA. Questa accelerazione hardware è fondamentale per l'elaborazione parallela massiccia necessaria per addestrare in modo efficiente i moderni modelli di intelligenza artificiale (AI) .
La libreria supporta un vasto ecosistema di strumenti per la visione artificiale (CV) e l'elaborazione del linguaggio naturale . Fornendo un ricco set di livelli predefiniti, ottimizzatori e funzioni di perdita, semplifica il processo di creazione di algoritmi per attività quali la classificazione delle immagini e la modellazione di sequenze.
La versatilità di questo framework ha portato alla sua adozione in diversi settori industriali per soluzioni di IA ad alto impatto:
Per comprendere meglio il suo ruolo, è utile distinguere PyTorch altri strumenti comuni nello stack AI:
L'intera famiglia Ultralytics , compresi l'innovativo YOLO26 e il diffuso YOLO11, è costruita in modo nativo su PyTorch. Questa base garantisce agli utenti di beneficiare della velocità, della stabilità e dell'ampio supporto della community del framework. Sia che si esegua il transfer learning su dati di addestramento personalizzati o che si esportino modelli per dispositivi edge, l' architettura sottostante si basa sui PyTorch e sui gradienti PyTorch .
Ultralytics di prossima uscita semplifica ulteriormente questa esperienza, fornendo un'interfaccia unificata per gestire l'approvvigionamento, la formazione e l'implementazione dei set di dati senza dover scrivere un codice boilerplate esteso.
L'esempio seguente mostra come verificare GPU ed eseguire l'inferenza utilizzando un YOLO , illustrando come il framework gestisce l'accelerazione hardware sotto il cofano:
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)