YOLO Vision 2026:

Analisi comparativa delle opzioni di distribuzione di YOLO26#

YOLO26 supporta più di 20 opzioni di distribuzione, ciascuna ottimizzata per un runtime, un target hardware o una piattaforma differenti, da PyTorch e ONNX a TensorRT, OpenVINO, CoreML e formati dedicati per NPU edge. Scegliere quella giusta bilancia velocità di inferenza, vincoli hardware e facilità di integrazione. Questa guida confronta ciascuna opzione per consentirti di scegliere la soluzione più adatta alla tua applicazione, per poi passare alle best practice per la distribuzione dei modelli per distribuirlo in modo affidabile.



Watch: How to Choose the Best Ultralytics YOLO26 Deployment Format for Your Project | TensorRT | OpenVINO 🚀

La distribuzione è la fase del flusso di lavoro del progetto di computer vision in cui un modello addestrato inizia a svolgere lavoro reale, quindi il formato in cui lo esporti ha un impatto diretto su velocità, costi e portabilità.

Come selezionare l'opzione di distribuzione giusta per il tuo modello YOLO26#

Quando è il momento di distribuire il tuo modello YOLO26, selezionare un formato di esportazione adatto è molto importante. Come illustrato nella documentazione di esportazione di Ultralytics YOLO26, la funzione model.export() converte il tuo modello addestrato in una varietà di formati su misura per diversi ambienti e requisiti di prestazioni.

Il formato ideale dipende dal contesto operativo previsto per il tuo modello e dall'hardware.

Salta l'esportazione manuale

Per una distribuzione gestita senza esportazione manuale, Ultralytics Platform fornisce endpoint di inferenza pronti all'uso con scalabilità automatica in 42 regioni globali.

Opzioni di distribuzione di YOLO26#

Ecco una breve descrizione di ciascun formato e di quando utilizzarlo. Per la procedura dettagliata di esportazione, consulta la documentazione di esportazione; per i criteri di confronto affiancati, vai direttamente alla tabella di confronto.

  • PyTorch (.pt): Il formato nativo di addestramento e inferenza, che offre la massima flessibilità e accelerazione GPU tramite NVIDIA CUDA o AMD ROCm, ideale per la ricerca e la prototipazione senza alcun passaggio di esportazione richiesto.
  • TorchScript (torchscript): Serializza il modello per un runtime C++ senza Python, adatto a sistemi di produzione in cui Python non è disponibile.
  • ONNX (onnx): Un formato di interscambio indipendente dal framework con ampio supporto multipiattaforma e hardware tramite ONNX Runtime.
  • OpenVINO (openvino): Il toolkit di Intel per l'inferenza ottimizzata su CPU Intel, GPU integrate e NPU, comune nell'IoT e nell'edge computing.
  • TensorRT (engine): Il runtime ad alte prestazioni di NVIDIA che offre inferenza GPU di primo livello con ottimizzazione FP16 e INT8.
  • CoreML (coreml): Il formato on-device di Apple per iOS, macOS, watchOS e tvOS, che utilizza Apple Neural Engine.
  • TF SavedModel (saved_model): Il formato standard di TensorFlow per il serving lato server scalabile con TensorFlow Serving.
  • TF GraphDef (pb): Un formato TensorFlow con grafo statico bloccato per ambienti che richiedono un grafo di calcolo fisso.
  • TF Edge TPU (edgetpu): Compila i modelli .tflite per gli acceleratori Google Coral Edge TPU.
  • LiteRT (litert): Il runtime on-device di Google (precedentemente TensorFlow Lite) per inferenza su dispositivi mobili, embedded e browser da un singolo modello .tflite, con supporto FP32 e INT8 ed esecuzione in-browser tramite LiteRT.js.
  • PaddlePaddle (paddle): Il framework di deep learning di Baidu, popolare in Cina, con un ampio supporto hardware.
  • MNN (mnn): Un motore di inferenza leggero e ad alte prestazioni ottimizzato per sistemi ARM e x86-64 mobili ed embedded.
  • NCNN (ncnn): Un framework di inferenza leggero e ad alte prestazioni ottimizzato per dispositivi ARM mobili.
  • Sony IMX500 (imx): Esportazioni per il sensore di visione intelligente IMX500 di Sony con elaborazione on-chip, come la Raspberry Pi AI Camera.
  • Rockchip RKNN (rknn): Prende di mira le NPU Rockchip su schede embedded con quantizzazione FP16 e INT8.
  • ExecuTorch (executorch): Il runtime on-device nativo di PyTorch per dispositivi mobili (iOS e Android) e sistemi embedded tramite XNNPACK.
  • Axelera AI (axelera): Compila per il Metis AIPU di Axelera (fino a 856 TOPS) tramite PCIe o M.2 per inferenza edge ad alto throughput.
  • DEEPX (deepx): Prende di mira l'hardware NPU DEEPX con quantizzazione INT8 per l'inferenza edge embedded.
  • Qualcomm QNN (qnn): Inferenza on-device su NPU Snapdragon Hexagon, GPU Adreno e CPU tramite lo stack AI Qualcomm.

L'integrazione con Hailo esporta modelli di rilevamento, segmentazione, segmentazione semantica, stima della profondità, classificazione, posa e OBB di YOLO direttamente in formato Hailo HEF; consulta la sua tabella di compatibilità per i modelli e i target convalidati. L'integrazione con Ambarella segue un flusso di lavoro basato prima su ONNX e compila le esportazioni ONNX nel formato AmbaPB con la toolchain CVflow di Ambarella per SoC CVflow® come il CV72, utilizzando opzionalmente l'addestramento consapevole della compressione SpongeTorch. L'integrazione con Huawei Ascend compila le esportazioni ONNX nel formato offline .om con il compilatore CANN ATC per l'inferenza FP16 su processori Ascend AI.

Confronto delle opzioni di distribuzione#

La seguente tabella riassume le opzioni di distribuzione per i modelli YOLO26 in base ai criteri che solitamente guidano la scelta. Per uno sguardo approfondito su ciascun formato, consulta la documentazione sui formati di esportazione.

Opzione di deploymentBenchmark delle prestazioniCompatibilità e integrazioneSupporto della community ed ecosistemaCasi d'usoManutenzione e aggiornamentiConsiderazioni sulla sicurezzaAccelerazione hardware
PyTorchBuona flessibilità; potrebbe scendere a compromessi sulle prestazioni grezzeEccellente con le librerie PythonRisorse estese e communityRicerca e prototipiSviluppo regolare e attivoDipendente dall'ambiente di deploymentSupporto CUDA per accelerazione GPU
TorchScriptMigliore per la produzione rispetto a PyTorchTransizione fluida da PyTorch a C++Specializzato ma più ristretto rispetto a PyTorchSettore in cui Python rappresenta un collo di bottigliaAggiornamenti coerenti con PyTorchSicurezza migliorata senza Python completoEredita il supporto CUDA da PyTorch
ONNXVariabile a seconda del runtimeAlta tra diversi frameworkAmpio ecosistema, supportato da molte organizzazioniFlessibilità tra framework MLAggiornamenti regolari per nuove operazioniGarantire pratiche sicure di conversione e deploymentVarie ottimizzazioni hardware
OpenVINOOttimizzato per hardware IntelMigliore all'interno dell'ecosistema IntelSolido nel dominio della computer visionIoT ed edge con hardware IntelAggiornamenti regolari per hardware IntelFunzionalità robuste per applicazioni sensibiliSu misura per hardware Intel
TensorRTDi alto livello su GPU NVIDIAMigliore per hardware NVIDIAForte network tramite NVIDIAInferenza video e immagini in tempo realeAggiornamenti frequenti per nuove GPUEnfasi sulla sicurezzaProgettato per GPU NVIDIA
CoreMLOttimizzato per hardware Apple on-deviceEsclusivo per l'ecosistema AppleForte supporto Apple e per sviluppatoriML on-device su prodotti AppleAggiornamenti Apple regolariFocus sulla privacy e sicurezzaApple neural engine e GPU
TF SavedModelScalabile in ambienti serverAmpia compatibilità nell'ecosistema TensorFlowSupporto esteso grazie alla popolarità di TensorFlowModelli di serving su larga scalaAggiornamenti regolari da parte di Google e della communityFunzionalità robuste per l'enterpriseVarie accelerazioni hardware
TF GraphDefStabile per grafi di calcolo staticiSi integra bene con l'infrastruttura TensorFlowRisorse per l'ottimizzazione di grafi staticiScenari che richiedono grafi staticiAggiornamenti insieme al core di TensorFlowPratiche di sicurezza consolidate per TensorFlowOpzioni di accelerazione per TensorFlow
TF Edge TPUOttimizzato per l'hardware Edge TPU di GoogleEsclusivo per dispositivi Edge TPUIn crescita con le risorse di Google e di terze partiDispositivi IoT che richiedono elaborazione in tempo realeMiglioramenti per il nuovo hardware Edge TPUSicurezza IoT robusta di GoogleProgettato su misura per Google Coral
LiteRTVelocità ed efficienza su dispositivi mobile, embedded e webSupporto per mobile, sistemi embedded, edge e browserCommunity solida, supportata da GoogleApp on-device per Android, iOS e webUltime funzionalità del runtime on-deviceInferenza sicura on-device e in-browserAccelerazione GPU, DSP e WebGPU
PaddlePaddleCompetitivo, facile da usare e scalabileEcosistema Baidu, ampio supporto alle applicazioniIn rapida crescita, specialmente in CinaMercato cinese ed elaborazione linguisticaFocus sulle applicazioni AI cinesiEnfatizza la privacy e la sicurezza dei datiInclusi i chip Kunlun di Baidu
MNNAlte prestazioni per dispositivi mobiliSistemi mobili e embedded ARM e CPU X86-64Community ML mobile/embeddedEfficienza dei sistemi mobiliManutenzione ad alte prestazioni su dispositivi mobiliVantaggi di sicurezza on-deviceOttimizzazioni per CPU e GPU ARM
NCNNOttimizzato per dispositivi mobili basati su ARMSistemi mobili e embedded ARMCommunity ML mobile/embedded di nicchia ma attivaEfficienza dei sistemi Android e ARMManutenzione ad alte prestazioni su ARMVantaggi di sicurezza on-deviceOttimizzazioni per CPU e GPU ARM
Sony IMX500Inferenza sul sensore a bassissimo consumoSensore Sony IMX500, Raspberry Pi AI CameraEcosistema Sony AITRIOSEdge AI su videocameraAggiornamenti SDK Sony e toolchain MCTI dati rimangono sul sensoreAcceleratore on-chip Sony IMX500
Rockchip RKNNOttimizzato per NPU RockchipSchede SoC Rockchip (es. RK3588)Community di sviluppatori RockchipSBC integrati e dispositivi edgeAggiornamenti Rockchip RKNN-ToolkitInferenza locale on-deviceNPU Rockchip
ExecuTorchRuntime PyTorch on-device efficienteiOS, Android, integrato tramite XNNPACKSupportato dal progetto PyTorchApp mobili e integrateMantenuto insieme a PyTorchL'inferenza on-device mantiene i dati localiXNNPACK e backend CPU/GPU mobili
Axelera AIThrougput molto elevato (fino a 856 TOPS)Metis AIPU tramite PCIe o M.2Axelera Voyager SDKInferenza edge ad alto throughputAggiornamenti Axelera SDKInferenza edge on-premisesAxelera Metis AIPU
DEEPXInferenza NPU ottimizzata INT8Hardware NPU DEEPXStrumenti per sviluppatori DEEPX (dx_com, dx_engine)Inferenza edge integrataAggiornamenti SDK e runtime DEEPXInferenza locale on-deviceNPU DEEPX
Qualcomm QNNInferenza Snapdragon on-device veloceSnapdragon Hexagon NPU, Adreno GPU, CPUEcosistema Qualcomm AI HubDispositivi Snapdragon mobili e edgeAggiornamenti dello stack Qualcomm AI (QAIRT)L'inferenza on-device mantiene i dati localiNPU Snapdragon Hexagon

Questo confronto ti fornisce una panoramica di alto livello. Per la distribuzione, valuta i requisiti e i vincoli specifici del tuo progetto rispetto a ciascuna opzione e consulta la guida all'integrazione collegata per il formato che sceglierai.

Conclusione#

L'ampia gamma di formati di esportazione di YOLO26 ti consente di adattare un modello a quasi qualsiasi ambiente, da un server GPU cloud a una telecamera edge on-sensor. Una volta scelto un formato, segui le best practice per la distribuzione dei modelli per l'ottimizzazione, la risoluzione dei problemi e la sicurezza, e affidati alla community di Ultralytics quando incontri un ostacolo.

FAQ#

  • Ultralytics YOLO26 supporta vari formati di deployment, ciascuno progettato per ambienti e piattaforme hardware specifici. I formati chiave includono:

    • PyTorch per ricerca e prototipazione, con un'eccellente integrazione Python.
    • TorchScript per ambienti di produzione in cui Python non è disponibile.
    • ONNX per la compatibilità multipiattaforma e l'accelerazione hardware.
    • OpenVINO per prestazioni ottimizzate su hardware Intel.
    • TensorRT per l'inferenza ad alta velocità su GPU NVIDIA.

    Ciascun formato presenta vantaggi unici. Per una procedura dettagliata, consulta la nostra documentazione sul processo di esportazione.

  • Per migliorare la velocità di inferenza sulle CPU Intel, puoi eseguire il deployment del tuo modello YOLO26 utilizzando il toolkit OpenVINO di Intel. OpenVINO offre notevoli incrementi delle prestazioni ottimizzando i modelli per sfruttare in modo efficiente l'hardware Intel.

    1. Converti il tuo modello YOLO26 nel formato OpenVINO utilizzando la funzione model.export().
    2. Segui la guida di configurazione dettagliata nella documentazione di esportazione Intel OpenVINO.

    Per ulteriori approfondimenti, dai un'occhiata al nostro post del blog.

  • Sì, i modelli YOLO26 possono essere distribuiti su dispositivi mobili utilizzando LiteRT (precedentemente TensorFlow Lite) e NCNN per Android, e CoreML o LiteRT per iOS. LiteRT è il runtime on-device di Google per dispositivi mobili ed embedded ed esegue lo stesso modello su Android, iOS e sul browser, fornendo un'efficiente inferenza on-device.

    Esempio
    # Export command for NCNN format
    model.export(format="ncnn")

    Per ulteriori dettagli sulla distribuzione dei modelli su dispositivi mobili, fai riferimento alla nostra guida all'integrazione di LiteRT.

  • Quando scegli un formato di deployment per YOLO26, considera i seguenti fattori:

    • Prestazioni: Alcuni formati come TensorRT offrono velocità eccezionali sulle GPU NVIDIA, mentre OpenVINO è ottimizzato per l'hardware Intel.
    • Compatibilità: ONNX offre un'ampia compatibilità tra diverse piattaforme.
    • Facilità di integrazione: Formati come CoreML o LiteRT sono progettati rispettivamente per ecosistemi specifici come iOS e Android.
    • Supporto della community: Formati come PyTorch e TensorFlow dispongono di ampie risorse e supporto da parte della community.

    Per un'analisi comparativa, fai riferimento alla nostra documentazione sui formati di esportazione.

  • Per distribuire i modelli YOLO26 in un'applicazione Web, puoi utilizzare LiteRT.js, il runtime Web di LiteRT, che consente di eseguire modelli di machine learning direttamente nel browser e in Node.js. Questo approccio elimina la necessità di un'infrastruttura di backend e offre prestazioni in tempo reale.

    1. Esporta il modello YOLO26 nel formato LiteRT.
    2. Integra il modello esportato nella tua applicazione web utilizzando LiteRT.js.

    Per istruzioni dettagliate, fai riferimento alla nostra guida all'integrazione di LiteRT.

Commenti