Scopri il ruolo fondamentale della CPU . Impara come ottimizzare la pre-elaborazione e la post-elaborazione dei dati ed esegui oggi stesso l'inferenza Ultralytics sui dispositivi edge.
CPU 'unità di elaborazione centrale (CPU) è il componente principale di un computer che funge da "cervello", responsabile dell'interpretazione e dell'esecuzione delle istruzioni provenienti dall'hardware e dal software. Nel contesto dell' intelligenza artificiale (AI), la CPU svolge un ruolo fondamentale nella gestione dei dati, nell'orchestrazione del sistema e nell'esecuzione dell'inferenza, in particolare sui dispositivi edge dove l'efficienza energetica è fondamentale. Mentre hardware specializzati come le GPU sono spesso associati al lavoro pesante dell'addestramento dei modelli di deep learning, la CPU indispensabile per l'intera pipeline di machine learning (ML).
Sebbene le GPU siano apprezzate per il loro enorme parallelismo durante l'addestramento, la CPU il motore di molte fasi essenziali del ciclo di vita della visione artificiale (CV). La sua architettura, tipicamente basata su progetti x86 (Intel, AMD) o ARM, è ottimizzata per l'elaborazione sequenziale e il controllo logico complesso .
Comprendere il panorama hardware è fondamentale per ottimizzare le operazioni di machine learning (MLOps). Questi processori differiscono in modo significativo nella loro architettura e nei casi d'uso ideali.
Le CPU sono spesso l'hardware preferito per applicazioni in cui il costo, la disponibilità e il consumo energetico superano la necessità di un throughput grezzo massiccio.
Gli sviluppatori spesso testano i modelli sulle CPU per verificare la compatibilità con ambienti di elaborazione serverless o dispositivi a basso consumo energetico . Ultralytics consente di indirizzare facilmente la CPU, garantendo che l'applicazione funzioni ovunque.
L'esempio seguente mostra come caricare un modello leggero ed eseguire l'inferenza specificatamente sulla CPU:
from ultralytics import YOLO
# Load the lightweight YOLO26 nano model
# Smaller models are optimized for faster CPU execution
model = YOLO("yolo26n.pt")
# Run inference on an image, explicitly setting the device to 'cpu'
results = model.predict("https://ultralytics.com/images/bus.jpg", device="cpu")
# Print the detection results (bounding boxes)
print(results[0].boxes.xywh)
Per migliorare ulteriormente le prestazioni sulle Intel , gli sviluppatori possono esportare i propri modelli su OpenVINO , che ottimizza la struttura della rete neurale specificamente per l'architettura x86. Per la gestione dei set di dati e l'orchestrazione di queste implementazioni, strumenti come Ultralytics semplificano il flusso di lavoro dall'annotazione all'esecuzione edge .