PyTorch
Esplora PyTorch, la libreria principale che alimenta Ultralytics YOLO26. Scopri i suoi grafi dinamici, l'accelerazione GPU e come costruire modelli di deep learning efficienti.
PyTorch è una libreria di machine learning open-source sviluppata principalmente da Meta AI che è diventata un pilastro per ricercatori e sviluppatori nel campo del deep learning. Nota per la sua flessibilità e facilità d'uso, permette di costruire e addestrare complesse reti neurali utilizzando un grafo computazionale dinamico. Questa caratteristica, spesso definita come "eager execution", consente di valutare il codice immediatamente, rendendo il debugging e la prototipazione significativamente più intuitivi rispetto ai framework che si basano su definizioni di grafi statici. Si integra perfettamente con il linguaggio di programmazione Python, sembrando un'estensione naturale degli strumenti di calcolo scientifico standard.
Link to this sectionMeccaniche fondamentali e importanza#
Al centro di questo framework ci sono i tensors, che sono array multidimensionali simili a quelli presenti nella documentazione di NumPy. Tuttavia, a differenza degli array standard, i tensori di PyTorch sono progettati per sfruttare l'accelerazione GPU fornita da NVIDIA CUDA. Questa accelerazione hardware è fondamentale per l'elaborazione parallela massiva richiesta per addestrare in modo efficiente i moderni modelli di intelligenza artificiale (AI).
La libreria supporta un vasto ecosistema di strumenti per la computer vision (CV) e l'elaborazione del linguaggio naturale. Fornendo un ricco set di layer predefiniti, ottimizzatori e funzioni di perdita, semplifica il processo di creazione di algoritmi per attività come la classificazione delle immagini e la modellazione di sequenze.
Link to this sectionApplicazioni nel mondo reale#
La versatilità di questo framework ha portato alla sua adozione in diversi settori per soluzioni AI ad alto impatto:
-
Veicoli autonomi: I leader del settore sfruttano PyTorch per creare modelli di deep learning che elaborano i feed video dalle telecamere delle auto. Questi modelli eseguono il rilevamento di oggetti in tempo reale per identificare corsie, segnali e pedoni, consentendo una navigazione più sicura.
-
Diagnostica medica: I ricercatori utilizzano il framework per sviluppare applicazioni sanitarie avanzate. Ad esempio, alimenta sistemi che analizzano scansioni MRI o raggi X per assistere i medici nel rilevamento di tumori tramite una precisa segmentazione dell'immagine.
Link to this sectionConfronto con strumenti correlati#
Per comprendere meglio il suo ruolo, è utile distinguere PyTorch da altri strumenti comuni nello stack AI:
- Vs. TensorFlow: Sviluppato da Google, TensorFlow si basava storicamente su grafi computazionali statici, il che rendeva il debugging più difficile ma ottimizzava il deployment. Sebbene entrambi i framework siano confluiti in termini di funzionalità, PyTorch è spesso preferito per la prototipazione rapida e la ricerca grazie alla sua interfaccia intuitiva.
- Vs. OpenCV: OpenCV è una libreria focalizzata su funzioni di elaborazione delle immagini tradizionali (come il ridimensionamento, il filtraggio e la conversione del colore) piuttosto che sull'addestramento di reti neurali. In un tipico flusso di lavoro, gli sviluppatori usano OpenCV per il pre-elaborazione dei dati prima di inviare le immagini a un modello PyTorch per l'analisi.
Link to this sectionIntegrazione con Ultralytics#
L'intera famiglia di modelli Ultralytics, inclusi il rivoluzionario YOLO26 e il diffusissimo YOLO11, è costruita nativamente su PyTorch. Questa base garantisce che tu possa beneficiare della velocità, della stabilità e del vasto supporto della community del framework. Che tu stia eseguendo transfer learning su dati di addestramento personalizzati o esportando modelli per dispositivi edge, l'architettura sottostante si basa sui tensori e sui gradienti di PyTorch.
L'imminente Ultralytics Platform semplifica ulteriormente questa esperienza, fornendo un'interfaccia unificata per gestire l'acquisizione dei dataset, l'addestramento e il deployment senza dover scrivere estesi codici boilerplate.
Il seguente esempio mostra come verificare la disponibilità della GPU ed eseguire l'inferenza utilizzando un modello YOLO, mettendo in mostra 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)





