Vai al contenuto

Comprensione YOLOv8Opzioni di distribuzione

Introduzione

Hai fatto molta strada nel tuo viaggio con YOLOv8. Hai raccolto diligentemente i dati, li hai annotati meticolosamente e hai dedicato ore alla formazione e alla valutazione rigorosa della tua abitudine YOLOv8 modello. Ora è il momento di mettere il tuo modello al lavoro per la tua applicazione, caso d'uso o progetto specifico. Ma c'è una decisione critica che si trova di fronte a te: come esportare e distribuire il tuo modello in modo efficace.

Questa guida ti guida attraverso YOLOv8Le opzioni di distribuzione e i fattori essenziali da considerare per scegliere l'opzione giusta per il tuo progetto.

Come selezionare la giusta opzione di distribuzione per il tuo modello YOLOv8

Quando è il momento di distribuire il tuo modello YOLOv8 , la scelta di un formato di esportazione adatto è molto importante. Come indicato nella documentazione diUltralytics YOLOv8 Modes, la funzione model.export() permette di convertire il modello addestrato in una varietà di formati adatti a diversi ambienti e requisiti di performance.

Il formato ideale dipende dal contesto operativo in cui il tuo modello è destinato, bilanciando velocità, vincoli hardware e facilità di integrazione. Nella sezione seguente analizzeremo più da vicino ogni opzione di esportazione e capiremo quando sceglierla.

YOLOv8Opzioni di distribuzione

Esaminiamo i diversi YOLOv8 opzioni di distribuzione. Per una procedura dettagliata del processo di esportazione, visitare la Ultralytics Pagina di documentazione sull'esportazione.

PyTorch

PyTorch è una libreria open-source per l'apprendimento automatico ampiamente utilizzata per applicazioni di deep learning e intelligenza artificiale. Offre un elevato livello di flessibilità e velocità, che l'ha resa una delle preferite da ricercatori e sviluppatori.

  • Benchmark delle prestazioni: PyTorch è noto per la sua facilità d'uso e la sua flessibilità, il che può comportare un leggero compromesso nelle prestazioni grezze rispetto ad altri framework più specializzati e ottimizzati.

  • Compatibilità e integrazione: Offre un'eccellente compatibilità con diverse librerie di data science e machine learning in Python.

  • Supporto ed ecosistema della comunità: Una delle comunità più vivaci, con ampie risorse per l'apprendimento e la risoluzione dei problemi.

  • Casi di studio: Usati comunemente nei prototipi di ricerca, molti articoli accademici fanno riferimento a modelli utilizzati in PyTorch.

  • Manutenzione e aggiornamenti: Aggiornamenti regolari con sviluppo attivo e supporto per nuove funzionalità.

  • Considerazioni sulla sicurezza: patch regolari per problemi di sicurezza, ma la sicurezza dipende in gran parte dall'ambiente generale in cui viene distribuita.

  • Accelerazione hardware: Supporta CUDA per l'accelerazione di GPU , essenziale per velocizzare la formazione e l'inferenza dei modelli.

TorchScript

TorchScript Si estende PyTorchconsentendo l'esportazione di modelli da eseguire in un ambiente di runtime C++. Questo lo rende adatto per ambienti di produzione in cui Python non è disponibile.

  • Benchmark delle prestazioni: Può offrire prestazioni migliori rispetto al sito nativo PyTorch, soprattutto negli ambienti di produzione.

  • Compatibilità e integrazione: Progettato per passare senza problemi dagli ambienti di produzione PyTorch a quelli C++, anche se alcune funzioni avanzate potrebbero non essere perfettamente trasferite.

  • Supporto della comunità ed ecosistema: i vantaggi di PyTorchLa grande comunità è ma ha un ambito più ristretto di sviluppatori specializzati.

  • Casi di studio: Ampiamente utilizzato in contesti industriali in cui PythonIl sovraccarico delle prestazioni è un collo di bottiglia.

  • Manutenzione e aggiornamenti: Mantenuto insieme a PyTorch con aggiornamenti costanti.

  • Considerazioni sulla sicurezza: Offre una maggiore sicurezza consentendo l'esecuzione di modelli in ambienti senza installazioni complete di Python .

  • Accelerazione hardware: Eredita il supporto di PyTorch a CUDA , garantendo un utilizzo efficiente di GPU .

ONNX

L'Open Neural Network Exchange (ONNX) è un formato che consente l'interoperabilità dei modelli tra diversi framework, il che può essere fondamentale per la distribuzione su diverse piattaforme.

  • Benchmark delle prestazioni: i modelli di ONNX possono avere prestazioni variabili a seconda del runtime specifico su cui vengono implementati.

  • Compatibilità e integrazione: Elevata interoperabilità tra diverse piattaforme e hardware grazie alla sua natura di framework-agnostic.

  • Supporto ed ecosistema della comunità: Supportato da molte organizzazioni, il che porta a un ampio ecosistema e a una varietà di strumenti per l'ottimizzazione.

  • Casi di studio: Viene spesso utilizzata per spostare i modelli tra diversi framework di apprendimento automatico, dimostrando la sua flessibilità.

  • Manutenzione e aggiornamenti: Essendo uno standard aperto, ONNX viene aggiornato regolarmente per supportare nuove operazioni e modelli.

  • Considerazioni sulla sicurezza: Come per ogni strumento multipiattaforma, è essenziale garantire pratiche sicure nella pipeline di conversione e distribuzione.

  • Accelerazione hardware: Con ONNX Runtime, i modelli possono sfruttare diverse ottimizzazioni hardware.

OpenVINO

OpenVINO è un toolkit di Intel progettato per facilitare l'implementazione di modelli di deep learning sull'hardware di Intel , migliorando le prestazioni e la velocità.

  • Benchmark delle prestazioni: Ottimizzato in modo specifico per le CPU, le GPU e le VPU di Intel , offre un significativo aumento delle prestazioni su hardware compatibile.

  • Compatibilità e integrazione: Funziona al meglio all'interno dell'ecosistema Intel ma supporta anche una serie di altre piattaforme.

  • Supporto ed ecosistema della comunità: Supportato da Intel, con una solida base di utenti soprattutto nel settore della computer vision.

  • Casi di studio: Spesso viene utilizzato in scenari IoT e di edge computing in cui l'hardware di Intel è prevalente.

  • Manutenzione e aggiornamenti: Intel aggiorna regolarmente OpenVINO per supportare i più recenti modelli di deep learning e Intel hardware.

  • Considerazioni sulla sicurezza: Offre robuste funzioni di sicurezza adatte all'implementazione in applicazioni sensibili.

  • Accelerazione hardware: È stata progettata per l'accelerazione sull'hardware di Intel , sfruttando set di istruzioni e caratteristiche hardware dedicate.

Per maggiori dettagli sull'utilizzo di OpenVINO, consulta la documentazione di Ultralytics Integration: Intel OpenVINO Esportazione.

TensorRT

TensorRT è un ottimizzatore e runtime per l'inferenza di deep learning ad alte prestazioni di NVIDIA, ideale per le applicazioni che richiedono velocità ed efficienza.

  • Benchmark delle prestazioni: Offre prestazioni di alto livello sulle GPU di NVIDIA con supporto per l'inferenza ad alta velocità.

  • Compatibilità e integrazione: È più adatto all'hardware di NVIDIA , con un supporto limitato al di fuori di questo ambiente.

  • Supporto ed ecosistema della comunità: Una forte rete di supporto attraverso i forum per sviluppatori e la documentazione di NVIDIA.

  • Casi di studio: Ampiamente adottato nei settori che richiedono un'inferenza in tempo reale su dati video e immagini.

  • Manutenzione e aggiornamenti: NVIDIA mantiene TensorRT con aggiornamenti frequenti per migliorare le prestazioni e supportare le nuove architetture di GPU .

  • Considerazioni sulla sicurezza: Come molti altri prodotti NVIDIA pone una forte enfasi sulla sicurezza, ma le caratteristiche specifiche dipendono dall'ambiente di distribuzione.

  • Accelerazione hardware: Progettata esclusivamente per le GPU di NVIDIA , offre un'ottimizzazione e un'accelerazione profonda.

CoreML

CoreML è il framework di apprendimento automatico di Apple, ottimizzato per le prestazioni sui dispositivi dell'ecosistema Apple, tra cui iOS, macOS, watchOS e tvOS.

  • Benchmark delle prestazioni: Ottimizzato per prestazioni on-device su hardware Apple con un utilizzo minimo della batteria.

  • Compatibilità e integrazione: In esclusiva per l'ecosistema Apple, fornisce un flusso di lavoro semplificato per le applicazioni iOS e macOS.

  • Supporto della comunità ed ecosistema: Forte supporto da parte di Apple e di una comunità di sviluppatori dedicata, con ampia documentazione e strumenti.

  • Casi di studio: Viene comunemente utilizzato nelle applicazioni che richiedono capacità di apprendimento automatico sul dispositivo sui prodotti Apple.

  • Manutenzione e aggiornamenti: Aggiornato regolarmente da Apple per supportare gli ultimi progressi dell'apprendimento automatico e l'hardware Apple.

  • Considerazioni sulla sicurezza: Beneficia dell'attenzione di Apple alla privacy degli utenti e alla sicurezza dei dati.

  • Accelerazione hardware: Sfrutta al massimo il motore neurale di Apple e GPU per accelerare le attività di apprendimento automatico.

TF SavedModel

TF SavedModel è TensorFlowper il salvataggio e la gestione di modelli di machine learning, particolarmente adatto per ambienti server scalabili.

  • Benchmark delle prestazioni: Offre prestazioni scalabili in ambienti server, soprattutto se utilizzato con TensorFlow Serving.

  • Compatibilità e integrazione: Ampia compatibilità con l'ecosistema di TensorFlow, comprese le implementazioni di server cloud e aziendali.

  • Supporto della comunità ed ecosistema: Grande supporto della comunità grazie alla popolarità di TensorFlow, con una vasta gamma di strumenti per l'implementazione e l'ottimizzazione.

  • Casi di studio: Utilizzato ampiamente in ambienti di produzione per servire modelli di deep learning su scala.

  • Manutenzione e aggiornamenti: Supportato da Google e dalla comunità di TensorFlow , garantisce aggiornamenti regolari e nuove funzionalità.

  • Considerazioni sulla sicurezza: L'implementazione di TensorFlow Serving include solide funzioni di sicurezza per le applicazioni di livello aziendale.

  • Accelerazione hardware: Supporta diverse accelerazioni hardware attraverso i backend di TensorFlow.

TF GraphDef

TF GraphDef è un formato TensorFlow che rappresenta il modello come un grafo, utile per gli ambienti in cui è richiesto un grafo di calcolo statico.

  • Benchmark delle prestazioni: Fornisce prestazioni stabili per i grafi di calcolo statici, con particolare attenzione alla coerenza e all'affidabilità.

  • Compatibilità e integrazione: Si integra facilmente con l'infrastruttura di TensorFlow, ma è meno flessibile rispetto a SavedModel.

  • Supporto della comunità ed ecosistema: L'ecosistema di TensorFlow offre un buon supporto, con molte risorse disponibili per l'ottimizzazione dei grafi statici.

  • Casi di studio: Utile negli scenari in cui è necessario un grafico statico, come ad esempio in alcuni sistemi embedded.

  • Manutenzione e aggiornamenti: Aggiornamenti regolari insieme agli aggiornamenti principali di TensorFlow.

  • Considerazioni sulla sicurezza: Assicura un'implementazione sicura con le pratiche di sicurezza stabilite da TensorFlow.

  • Accelerazione hardware: Può utilizzare le opzioni di accelerazione hardware di TensorFlow, anche se non è così flessibile come SavedModel.

TF Lite

TF Lite è TensorFlowLa soluzione per l'apprendimento automatico dei dispositivi mobili e incorporati, che fornisce una libreria leggera per l'inferenza sul dispositivo.

  • Benchmark delle prestazioni: Progettato per garantire velocità ed efficienza su dispositivi mobili ed embedded.

  • Compatibilità e integrazione: Può essere utilizzato su un'ampia gamma di dispositivi grazie alla sua leggerezza.

  • Supporto ed ecosistema della comunità: Supportato da Google, ha una solida comunità e un numero crescente di risorse per gli sviluppatori.

  • Casi di studio: È molto diffusa nelle applicazioni mobili che richiedono un'inferenza sul dispositivo con un ingombro minimo.

  • Manutenzione e aggiornamenti: Aggiornato regolarmente per includere le ultime funzionalità e ottimizzazioni per i dispositivi mobili.

  • Considerazioni sulla sicurezza: Fornisce un ambiente sicuro per l'esecuzione dei modelli sui dispositivi degli utenti finali.

  • Accelerazione hardware: Supporta una serie di opzioni di accelerazione hardware, tra cui GPU e DSP.

TF Bordo TPU

TF Edge TPU è progettato per un'elaborazione efficiente e ad alta velocità sull'hardware Edge TPU di Google, perfetto per i dispositivi IoT che richiedono un'elaborazione in tempo reale.

  • Benchmark delle prestazioni: Ottimizzato in modo specifico per un calcolo efficiente e ad alta velocità sull'hardware di Google's Edge TPU .

  • Compatibilità e integrazione: Funziona esclusivamente con i modelli TensorFlow Lite su dispositivi Edge TPU .

  • Supporto ed ecosistema della comunità: Supporto crescente con risorse fornite da Google e da sviluppatori di terze parti.

  • Casi di studio: Utilizzata nei dispositivi IoT e nelle applicazioni che richiedono un'elaborazione in tempo reale con una bassa latenza.

  • Manutenzione e aggiornamenti: Miglioramenti continui per sfruttare le capacità delle nuove versioni hardware di Edge TPU .

  • Considerazioni sulla sicurezza: Si integra con la solida sicurezza di Google per i dispositivi IoT ed edge.

  • Accelerazione hardware: Progettato su misura per sfruttare al meglio i dispositivi Google Coral.

TF.js

TensorFlow.js (TF.js) è una libreria che porta le capacità di apprendimento automatico direttamente nel browser, offrendo un nuovo regno di possibilità per gli sviluppatori web e gli utenti. Permette di integrare i modelli di apprendimento automatico nelle applicazioni web senza la necessità di un'infrastruttura back-end.

  • Benchmark delle prestazioni: Consente l'apprendimento automatico direttamente nel browser con prestazioni ragionevoli, a seconda del dispositivo client.

  • Compatibilità e integrazione: Elevata compatibilità con le tecnologie web, che consente una facile integrazione nelle applicazioni web.

  • Supporto ed ecosistema della comunità: Supporto da parte di una comunità di sviluppatori web e Node.js, con una serie di strumenti per la distribuzione di modelli ML nei browser.

  • Casi di studio: Ideale per le applicazioni web interattive che beneficiano dell'apprendimento automatico lato client senza la necessità di un'elaborazione lato server.

  • Manutenzione e aggiornamenti: Mantenuto dal team di TensorFlow con i contributi della comunità open-source.

  • Considerazioni sulla sicurezza: Viene eseguito all'interno del contesto sicuro del browser, utilizzando il modello di sicurezza della piattaforma web.

  • Accelerazione hardware: Le prestazioni possono essere migliorate con API basate sul web che accedono all'accelerazione hardware come WebGL.

PaddlePaddle

PaddlePaddle è un framework open-source per il deep learning sviluppato da Baidu. È stato progettato per essere efficiente per i ricercatori e facile da usare per gli sviluppatori. È particolarmente popolare in Cina e offre un supporto specifico per l'elaborazione della lingua cinese.

  • Benchmark delle prestazioni: Offre prestazioni competitive con particolare attenzione alla facilità d'uso e alla scalabilità.

  • Compatibilità e integrazione: Ben integrato nell'ecosistema di Baidu, supporta un'ampia gamma di applicazioni.

  • Supporto ed ecosistema della comunità: Sebbene la comunità sia più piccola a livello globale, sta crescendo rapidamente, soprattutto in Cina.

  • Casi di studio: È comunemente utilizzato nei mercati cinesi e dagli sviluppatori che cercano alternative agli altri framework principali.

  • Manutenzione e aggiornamenti: Aggiornato regolarmente con particolare attenzione alle applicazioni e ai servizi di intelligenza artificiale in lingua cinese.

  • Considerazioni sulla sicurezza: Enfatizza la privacy e la sicurezza dei dati, rispettando gli standard cinesi di governance dei dati.

  • Accelerazione hardware: Supporta diverse accelerazioni hardware, tra cui i chip Kunlun di Baidu.

NCNN

NCNN è un framework per l'inferenza di reti neurali ad alte prestazioni ottimizzato per la piattaforma mobile. Si distingue per la sua leggerezza ed efficienza, che lo rendono particolarmente adatto ai dispositivi mobili ed embedded dove le risorse sono limitate.

  • Benchmark delle prestazioni: altamente ottimizzato per le piattaforme mobili, offre un'inferenza efficiente sui dispositivi basati su ARM.

  • Compatibilità e integrazione: Adatto per applicazioni su telefoni cellulari e sistemi embedded con architettura ARM.

  • Supporto ed ecosistema della comunità: Supportato da una comunità di nicchia ma attiva, focalizzata sulle applicazioni ML mobili e integrate.

  • Casi di studio: È favorita per le applicazioni mobili in cui l'efficienza e la velocità sono fondamentali su Android e altri sistemi basati su ARM.

  • Manutenzione e aggiornamenti: Migliora continuamente per mantenere alte le prestazioni su una serie di dispositivi ARM.

  • Considerazioni sulla sicurezza: Si concentra sull'esecuzione locale sul dispositivo, sfruttando la sicurezza intrinseca dell'elaborazione sul dispositivo.

  • Accelerazione hardware: Su misura per le CPU e le GPU ARM, con ottimizzazioni specifiche per queste architetture.

Analisi comparativa delle opzioni di distribuzione di YOLOv8

La seguente tabella fornisce un'istantanea delle varie opzioni di distribuzione disponibili per i modelli di YOLOv8 , aiutandoti a valutare quale potrebbe essere la più adatta alle esigenze del tuo progetto in base a diversi criteri critici. Per un approfondimento sul formato di ogni opzione di distribuzione, consulta la pagina della documentazione diUltralytics sui formati di esportazione.

Opzione di distribuzione Parametri di prestazione Compatibilità e integrazione Supporto della comunità ed ecosistema Casi di studio Manutenzione e aggiornamenti Considerazioni sulla sicurezza Accelerazione hardware
PyTorch Buona flessibilità, ma può essere un compromesso con le prestazioni grezze Eccellente con le librerie di Python Ampie risorse e comunità Ricerca e prototipi Sviluppo regolare e attivo Dipende dall'ambiente di distribuzione CUDA supporto per l'accelerazione di GPU
TorchScript Meglio per la produzione rispetto a PyTorch Transizione agevole da PyTorch a C++ Specializzato ma più ristretto di PyTorch Un settore in cui Python è un collo di bottiglia Aggiornamenti coerenti con PyTorch Sicurezza migliorata senza un'eccessiva quantità di risorse. Python Eredita il supporto di CUDA da PyTorch
ONNX Variabile a seconda del tempo di esecuzione Elevato tra i diversi framework Ampio ecosistema, supportato da molte organizzazioni Flessibilità tra i framework di ML Aggiornamenti regolari per le nuove operazioni Garantire pratiche di conversione e distribuzione sicure Varie ottimizzazioni hardware
OpenVINO Ottimizzato per l'hardware di Intel Il meglio all'interno dell'ecosistema Intel Solidità nel campo della visione artificiale IoT e edge con l'hardware di Intel Aggiornamenti regolari per l'hardware di Intel Caratteristiche robuste per applicazioni sensibili Su misura per la ferramenta di Intel
TensorRT Top-tier sulle GPU di NVIDIA Il meglio per l'hardware di NVIDIA Una forte rete attraverso NVIDIA Inferenza di video e immagini in tempo reale Aggiornamenti frequenti per le nuove GPU Enfasi sulla sicurezza Progettato per le GPU NVIDIA
CoreML Ottimizzato per l'hardware Apple sul dispositivo Esclusivo dell'ecosistema Apple Forte supporto di Apple e degli sviluppatori ML on-device sui prodotti Apple Aggiornamenti regolari di Apple Attenzione alla privacy e alla sicurezza Motore neurale Apple e GPU
TF SavedModel Scalabile in ambienti server Ampia compatibilità con l'ecosistema TensorFlow Grande supporto grazie alla popolarità di TensorFlow Servire modelli in scala Aggiornamenti regolari da parte di Google e della comunità Funzionalità robuste per le aziende Varie accelerazioni hardware
TF GraphDef Stabile per i grafi di calcolo statici Si integra bene con l'infrastruttura di TensorFlow Risorse per l'ottimizzazione dei grafi statici Scenari che richiedono grafici statici Aggiornamenti a fianco del nucleo di TensorFlow Pratiche di sicurezza consolidate su TensorFlow TensorFlow opzioni di accelerazione
TF Lite Velocità ed efficienza su mobile/embedded Ampia gamma di dispositivi supportati Comunità solida, Google supportata Applicazioni mobili con un ingombro minimo Le ultime funzionalità per i dispositivi mobili Ambiente sicuro sui dispositivi degli utenti finali GPU e DSP, tra gli altri
TF Bordo TPU Ottimizzato per l'hardware di Google's Edge TPU Esclusivo dei dispositivi Edge TPU Crescere con Google e risorse di terze parti Dispositivi IoT che richiedono un'elaborazione in tempo reale Miglioramenti per il nuovo hardware Edge TPU GoogleLa solida sicurezza IoT Progettato su misura per Google Coral
TF.js Prestazioni ragionevoli nel browser Elevato livello di conoscenza delle tecnologie web Supporto agli sviluppatori Web e Node.js Applicazioni web interattive TensorFlow contributi del team e della comunità Modello di sicurezza della piattaforma web Potenziato con WebGL e altre API
PaddlePaddle Competitivo, facile da usare e scalabile Ecosistema Baidu, ampio supporto alle applicazioni In rapida crescita, soprattutto in Cina Mercato cinese ed elaborazione linguistica Focus sulle applicazioni AI cinesi Enfatizza la privacy e la sicurezza dei dati Compresi i chip Kunlun di Baidu
NCNN Ottimizzato per i dispositivi mobili basati su ARM Sistemi ARM mobili ed embedded Comunità ML di nicchia ma attiva nel settore mobile/embedded Android e l'efficienza dei sistemi ARM Manutenzione ad alte prestazioni su ARM Vantaggi della sicurezza sul dispositivo Ottimizzazioni per CPU e GPU ARM

Questa analisi comparativa ti offre una panoramica di alto livello. Per l'implementazione, è fondamentale considerare i requisiti e i vincoli specifici del tuo progetto e consultare la documentazione dettagliata e le risorse disponibili per ciascuna opzione.

Comunità e supporto

Quando stai iniziando a lavorare su YOLOv8, avere una comunità e un supporto utili può avere un impatto significativo. Ecco come entrare in contatto con altre persone che condividono i tuoi interessi e ottenere l'assistenza di cui hai bisogno.

Impegnarsi con una comunità più ampia

  • Discussioni su GitHub: Il repository YOLOv8 su GitHub ha una sezione "Discussioni" dove puoi fare domande, segnalare problemi e suggerire miglioramenti.

  • Ultralytics Server Discord: Ultralytics ha un server Discord dove puoi interagire con altri utenti e sviluppatori.

Documentazione e risorse ufficiali

  • Ultralytics YOLOv8 Documenti: La documentazione ufficiale fornisce una panoramica completa di YOLOv8, oltre a guide sull'installazione, l'utilizzo e la risoluzione dei problemi.

Queste risorse ti aiuteranno ad affrontare le sfide e a rimanere aggiornato sulle ultime tendenze e sulle migliori pratiche della comunità di YOLOv8 .

Conclusione

In questa guida abbiamo esplorato le diverse opzioni di implementazione di YOLOv8. Abbiamo anche discusso i fattori importanti da considerare al momento della scelta. Queste opzioni ti permettono di personalizzare il tuo modello per vari ambienti e requisiti di prestazioni, rendendolo adatto alle applicazioni del mondo reale.

Non dimenticare che la comunità di YOLOv8 e Ultralytics è una preziosa fonte di aiuto. Entra in contatto con altri sviluppatori ed esperti per apprendere suggerimenti e soluzioni uniche che potresti non trovare nella normale documentazione. Continua a cercare la conoscenza, a esplorare nuove idee e a condividere le tue esperienze.

Buona distribuzione!

DOMANDE FREQUENTI

Quali sono le opzioni di distribuzione disponibili per YOLOv8 su diverse piattaforme hardware?

Ultralytics YOLOv8 supporta diversi formati di distribuzione, ciascuno progettato per ambienti e piattaforme hardware specifici. I formati principali includono:

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

Ogni formato presenta vantaggi unici. Per una descrizione dettagliata, consulta la documentazione sul processo di esportazione.

Come posso migliorare la velocità di inferenza del mio modello YOLOv8 su Intel CPU ?

Per migliorare la velocità di inferenza sulle CPU Intel , puoi distribuire il tuo modello YOLOv8 usando il toolkit Intel'OpenVINO . OpenVINO offre un significativo aumento delle prestazioni ottimizzando i modelli per sfruttare in modo efficiente l'hardware Intel .

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

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

Posso distribuire i modelli di YOLOv8 sui dispositivi mobili?

Sì, i modelli di YOLOv8 possono essere distribuiti su dispositivi mobili utilizzando TensorFlow Lite (TF Lite) per entrambe le piattaforme Android e iOS . TF Lite è stato progettato per i dispositivi mobili e incorporati e fornisce un'inferenza efficiente sul dispositivo.

Esempio

# Export command for TFLite format
model.export(format="tflite")
# CLI command for TFLite export
yolo export --format tflite

Per maggiori dettagli sulla distribuzione dei modelli su mobile, consulta la nostra guida all'integrazione diTF Lite.

Quali fattori devo considerare quando scelgo un formato di distribuzione per il mio modello YOLOv8 ?

Quando scegli un formato di distribuzione per YOLOv8, 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à con diverse piattaforme.
  • Facilità di integrazione: Formati come CoreML o TF Lite sono stati creati su misura per ecosistemi specifici come iOS e Android, rispettivamente.
  • Supporto della comunità: Formati come PyTorch e TensorFlow dispongono di ampie risorse e supporto da parte della comunità.

Per un'analisi comparativa, consulta la nostra documentazione sui formati di esportazione.

Come posso distribuire i modelli di YOLOv8 in un'applicazione web?

Per distribuire i modelli di YOLOv8 in un'applicazione web, puoi utilizzare TensorFlow.js (TF.js), che consente di eseguire i modelli di apprendimento automatico direttamente nel browser. Questo approccio elimina la necessità di un'infrastruttura backend e offre prestazioni in tempo reale.

  1. Esporta il modello YOLOv8 nel formato TF.js.
  2. Integra il modello esportato nella tua applicazione web.

Per le istruzioni passo-passo, consulta la nostra guida sull'integrazione diTensorFlow.js.



Creato 2023-11-12, Aggiornato 2024-07-05
Autori: glenn-jocher (10), abirami-vina (1)

Commenti