Imparare ONNX per il trading - pagina 7

 

Distribuisci modelli ML con funzioni di Azure e runtime ONNX



Distribuisci modelli ML con funzioni di Azure e runtime ONNX

Il video mostra come distribuire un modello di machine learning usando ONNX Runtime e Funzioni di Azure in VS Code. Il processo include la creazione di un progetto di funzione di Azure, l'aggiornamento del codice con lo script del punteggio, il caricamento del modello dal percorso del modello, la creazione di una sessione di inferenza con ONNX Runtime e la restituzione dell'output. Il video mostra anche come distribuire la funzione in Azure e testarla lì. Questo metodo consente una distribuzione efficiente dei modelli tramite Funzioni di Azure e il runtime ONNX, consentendo un facile accesso ai risultati.

  • 00:00:00 In questa sezione, il video mostra come distribuire un modello di machine learning utilizzando ONNX Runtime e Funzioni di Azure in VS Code. Il processo prevede la creazione di un progetto di funzione di Azure con trigger Python e HTTP, l'aggiornamento del codice con lo script del punteggio, il ridimensionamento e il rimodellamento dell'immagine e la sua pre-elaborazione, il caricamento del modello dal percorso del modello, la creazione di una sessione di inferenza con ONNX Runtime e restituendo l'output. Dopo aver verificato la funzionalità del codice, il video mostra come distribuire la funzione in Azure e testarla lì.

  • 00:05:00 In questa sezione, l'oratore mostra come testare la funzione distribuita ottenendo l'URL della funzione e incollandolo nel test. Il relatore dimostra come la funzione distribuita può essere usata per ottenere facilmente un risultato tramite funzioni di Azure e il runtime ONNX, consentendo una distribuzione efficiente dei modelli.
 

Distribuzione su desktop con ONNX



Distribuzione su desktop con ONNX

Nel video "Distribuzione su desktop con ONNX", Alexander Zhang illustra le sfide della distribuzione su desktop e le soluzioni offerte da ONNX. Il supporto dei desktop ha le sue sfide in quanto vi è meno controllo sulle restrizioni di sistema sulla GPU o sul sistema operativo, oltre a una significativa diversità nelle GPU desktop. Per affrontare queste sfide, Alexander si affida a diverse librerie di inferenza per ciascuno dei fornitori di hardware supportati da Topaz Labs. ONNX viene utilizzato per specificare lo stesso modello per tutte queste librerie, fornendo risultati relativamente coerenti su hardware diverso risparmiando lavoro manuale su ciascun modello. Tuttavia, le conversioni ONNX possono creare vari problemi, come ambiguità, incoerenza e discrepanze di qualità, richiedendo agli sviluppatori di eseguire conversioni di prova e utilizzare esplicitamente gli offset ONNX più recenti. Per massimizzare il throughput tramite il batch e potenzialmente eseguirli su più dispositivi e librerie in parallelo, suddividono le immagini in blocchi e selezionano una dimensione appropriata in base alla VRAM, quindi eseguono i blocchi tramite inferenza.

  • 00:00:00 In questa sezione, Alexander Zhang discute le sfide della distribuzione su desktop e le soluzioni offerte da ONNX. Adattarsi ai flussi di lavoro esistenti soddisfacendo le aspettative di prestazioni e tenendosi al passo con i progressi richiede la fornitura dei modelli di immagine più recenti e della massima qualità disponibili. Il supporto dei desktop ha le sue sfide in quanto vi è meno controllo sulle restrizioni di sistema sulla GPU o sul sistema operativo, oltre a una significativa diversità nelle GPU desktop. Per affrontare queste sfide, Alexander si affida a diverse librerie di inferenza per ciascuno dei fornitori di hardware supportati da Topaz Labs. ONNX viene utilizzato per specificare lo stesso modello per tutte queste librerie, fornendo risultati relativamente coerenti su hardware diverso risparmiando lavoro manuale su ciascun modello. Tuttavia, le conversioni ONNX possono creare vari problemi, come ambiguità, incoerenza e discrepanze di qualità, richiedendo agli sviluppatori di eseguire conversioni di prova e utilizzare esplicitamente gli offset ONNX più recenti.

  • 00:05:00 In questa sezione, l'oratore spiega che uno dei motivi per cui eseguono molte conversioni da soli piuttosto che utilizzare librerie o wrapper esistenti è la performance. Sottolineano inoltre l'importanza della flessibilità per ottimizzare i propri modelli e le proprie esigenze di prestazioni, se lo si desidera, senza essere obbligati a scrivere codice specifico per ogni modello. Per massimizzare il throughput tramite il batch e potenzialmente eseguirli su più dispositivi e librerie in parallelo, suddividono le immagini in blocchi e selezionano una dimensione appropriata in base alla VRAM, quindi eseguono i blocchi tramite inferenza. Tuttavia, concludono che ci sono continue difficoltà nel garantire che le nuove architetture dei modelli si comportino bene in tutte le biblioteche, ma rimangono fiduciosi che la loro strategia supererà queste sfide e fornirà miglioramenti coerenti della qualità dell'immagine.
 

Distribuzione di modelli ONNX su Flink - Isaac Mckillen-Godfried



Distribuzione di modelli ONNX su Flink - Isaac Mckillen-Godfried

Isaac McKillen-Godfried discute le sfide dell'incorporazione di modelli di apprendimento automatico all'avanguardia dagli ambienti di ricerca nella produzione per un utilizzo efficace. L'obiettivo del discorso è facilitare lo spostamento dei modelli dagli ambienti di ricerca alla produzione e consentire l'incorporazione di modelli all'avanguardia in diverse piattaforme. Spiega i vantaggi del formato ONNX e le diverse opzioni per l'integrazione di modelli di deep learning in Java. Inoltre, discute la distribuzione di modelli ONNX su Flink utilizzando Jep, un interprete Python scritto in Java, e spiega un progetto open source che consente di utilizzare i dati dal connettore Twitter di Flink e quindi filtrare i tweet non in inglese. Il discorso evidenzia anche l'attuale implementazione solo CPU della distribuzione di modelli ONNX su Flink e il potenziale per future implementazioni GPU o ibride.

  • 00:00:00 In questa sezione del video, il relatore discute le sfide dell'incorporazione di modelli di apprendimento automatico all'avanguardia provenienti da ambienti di ricerca nella produzione per un utilizzo efficace. Accenna al fatto che la maggior parte dei framework popolari sono scritti in Java e Scala, mentre la maggior parte del codice e dei documenti sono scritti in Python. L'obiettivo del discorso è facilitare lo spostamento dei modelli dagli ambienti di ricerca alla produzione e consentire l'incorporazione di modelli all'avanguardia in diverse piattaforme. L'oratore parla anche delle sfide, tra cui lo scarso supporto di Python in Flink e la difficoltà di incorporare ONNX in Java. Cita anche la popolarità di PyTorch nella comunità di ricerca e la sua crescente implementazione nei framework di machine learning.

  • 00:05:00 In questa sezione, il relatore discute il formato ONNX ei suoi vantaggi. ONNX è un formato di scambio di reti neurali aperto che consente una facile esportazione e importazione di modelli da vari framework. L'obiettivo di ONNX è consentire l'esecuzione di modelli in diversi linguaggi e framework, rendendolo uno strumento prezioso per gli sviluppatori. Inoltre, il relatore parla di vari framework e strumenti ONNX disponibili per l'esportazione e l'importazione di modelli. Introducono anche una scorecard che misura il supporto operativo in ONNX, con TensorFlow e Caffe2 che hanno un supporto considerevole. Il relatore discute quindi le diverse opzioni per l'integrazione di modelli di deep learning in Java, inclusa la creazione di un microservizio, Java embedded Python e l'esecuzione di framework basati su JVM back-end ONNX.

  • 00:10:00 In questa sezione vengono discussi i limiti dell'utilizzo di Java con i modelli ONNX, incluso il supporto limitato delle operazioni di rete neurale in framework come Meno e Vespa. Anche il processo di esportazione può essere difficile e richiedere molto tempo e potrebbe essere necessario riaddestrare completamente i modelli. Una soluzione consiste nell'usare asincroni e microservizi, ma questo approccio richiede il ridimensionamento e la gestione di un servizio separato. Un altro approccio discusso è l'utilizzo di Java embedded Python (JEP), che consente l'utilizzo di qualsiasi libreria Python e si è scoperto che funziona velocemente con framework come Keras. Tuttavia, potrebbero esserci problemi con le librerie condivise che devono essere risolti.

  • 00:15:00 In questa sezione del video, il relatore parla della distribuzione dei modelli ONNX su Flink e dei potenziali problemi di installazione che potrebbero sorgere. Mentre è possibile trasferire le primitive Java in Python e viceversa, possono esserci problemi con l'impostazione delle dipendenze. Il relatore consiglia di creare un'immagine Docker personalizzata che includa i pacchetti Flink e Python per semplificare l'installazione. Il relatore evidenzia anche Flair, un framework PyTorch per attività NLP, e spiega come integrarlo in Flink utilizzando JEP. Il codice di esempio utilizza una funzione rich map per restituire i risultati di Flair come stringa.

  • 00:20:00 In questa sezione, il relatore parla della distribuzione di modelli ONNX su Flink utilizzando Jep, un interprete Python scritto in Java. Il relatore mostra un esempio di analisi del sentiment sui dati di Twitter con il connettore Flink Twitter e spiega l'importanza di caricare il modello nella parte aperta della funzione per evitare che si ricarichi a ogni iterazione. Mostrano anche come impostare variabili in Python usando Jep e come restituire il risultato a Java come stringa. Il relatore evidenzia l'uso di un interprete condiviso in Jep per evitare errori durante l'utilizzo dei moduli Python e suggerisce di convertire il risultato in JSON per una più facile elaborazione in Java.

  • 00:25:00 In questa sezione, Isaac McKillen-Godfried parla di un progetto open-source che consente di consumare dati dal connettore Twitter di Flink e quindi di filtrare i tweet non in inglese. I dati verrebbero quindi elaborati tramite modelli di riconoscimento di entità denominate multitasking, in grado di gestire diverse lingue e modelli linguistici specifici. Il riconoscimento delle entità denominate e l'analisi del sentiment verrebbero eseguiti prima di essere convertiti in tabelle e utilizzare le query per raggrupparle in base alla loro entità e sentiment. Incorporando il deep learning e altri modelli in Flink, è possibile visualizzare una visualizzazione in tempo reale delle entità denominate e del loro sentimento sul testo di Twitter. Sebbene i backend onnx manchino di maturità, risparmiano tempo dalla necessità di convertire il codice e riscritture e l'esecuzione del modello su un cluster è veloce. McKillen-Godfried prevede di eseguire benchmark per misurare l'aumento della latenza nel prossimo futuro.

  • 00:30:00 In questa sezione, Isaac Mckillen-Godfried discute l'attuale implementazione solo CPU dell'implementazione di modelli ONNX su Flink e il potenziale per future implementazioni GPU o ibride che potrebbero accelerare ulteriormente il processo. Nota che ha testato il modello solo sulle CPU e non ha ancora esplorato le possibilità di aumentare l'efficienza attraverso l'utilizzo della GPU.
 

Distribuzione del modello Tiny YOLOv2 ONNX su Jetson Nano utilizzando DeepStream



Distribuzione del modello Tiny YOLOv2 ONNX su Jetson Nano utilizzando DeepStream

Questo video mostra l'efficienza dell'utilizzo di un modello Tiny YOLOv2 preaddestrato nel formato ONNX per elaborare quattro flussi video contemporaneamente.
I flussi provengono da quattro file distinti e vengono elaborati su Jetson Nano utilizzando DeepStream SDK. Il sistema ha raggiunto un FPS di circa 6,7 durante l'elaborazione di tutti e quattro i video in parallelo.

https://github.com/thatbrguy/Deep-Stream-ONNX

GitHub - thatbrguy/Deep-Stream-ONNX: How to deploy ONNX models using DeepStream on Jetson Nano
GitHub - thatbrguy/Deep-Stream-ONNX: How to deploy ONNX models using DeepStream on Jetson Nano
  • thatbrguy
  • github.com
How to deploy ONNX models using DeepStream on Jetson Nano. [Blog] [Performance] This repository provides complementary material to this blog post about deploying an ONNX object detection model using the DeepStream SDK on Jetson Nano. Various experiments were designed to test the features and performance of DeepStream. NOTE (May 2021) : There...
 

Il motore di inferenza ONNX Runtime è in grado di eseguire modelli di Machine Learning in diversi ambienti



Tempo di esecuzione ONNX

ONNX Runtime è un motore di inferenza open source ottimizzato per prestazioni, scalabilità ed estensibilità, in grado di eseguire nuovi operatori prima che vengano standardizzati. Il formato ONNX consente una facile rappresentazione e distribuzione di modelli sviluppati su strumenti preferiti in modo comune. Microsoft ha stretto una partnership con Xilinx per creare il provider di esecuzione per la libreria software Vitis AI, che consente l'inferenza e l'accelerazione AI sulle piattaforme hardware Xilinx. Il toolkit Vitis AI è costituito da strumenti IP, librerie, modelli e progetti di esempio per sviluppatori FPGA, con numeri di riferimento che mostrano l'accelerazione di picco per le soluzioni di imaging geospaziale. Il provider di esecuzione Vitis AI può essere creato dall'origine o distribuito tramite una libreria software predefinita che sarà presto rilasciata in Azure Marketplace.

  • 00:00:00 In questa sezione, Manash Goswami, Principal Program Manager for AI Frameworks di Microsoft, presenta ONNX Runtime, un motore di inferenza open source utilizzato per eseguire modelli ONNX. Il formato ONNX consente ai team di data science di utilizzare i propri strumenti preferiti per lo sviluppo del modello, garantendo al contempo che il modello possa essere rappresentato e distribuito in modo comune e facilmente eseguibile. ONNX Runtime è ottimizzato per prestazioni, estensibilità e scalabilità e supporta operatori personalizzati, rendendolo in grado di eseguire nuovi operatori prima che vengano standardizzati. Il runtime è compatibile con le versioni precedenti e successive e la sua interfaccia del provider di esecuzione consente l'esecuzione del modello ML su diverse piattaforme hardware. Microsoft ha stretto una partnership con Xilinx per creare il provider di esecuzione per la libreria software Vitis AI, che esegue i modelli ONNX sulla piattaforma FPGA Xilinx U250.

  • 00:05:00 In questa sezione, impariamo a conoscere la libreria software Vitis AI, la piattaforma di sviluppo Xilinx specializzata per l'inferenza AI su piattaforme hardware Xilinx. L'FPGA U250 è disponibile per l'uso con lo stack software Vitis AI in anteprima privata in Azure, mentre le VM NP si accodano per gli utenti. Il toolkit Vitis AI è costituito da strumenti IP, librerie, modelli e progetti di esempio ottimizzati che gli sviluppatori possono utilizzare con gli FPGA, consentendo loro di combinare inferenza e accelerazione AI. Peakspeed, una startup che fornisce soluzioni di analisi geospaziale, integra ONNX Runtime e lo stack Vitis AI con l'applicazione ArcGIS Pro di Esri per creare le soluzioni di imaging geospaziale più veloci al mondo. Peakspeed ha accelerato con successo la correzione geospaziale o il processo di ortorettifica sulle CPU, registrando numeri di benchmark confrontando TrueView in esecuzione su un Azure NP che ospita l'FPGA Xilinx U250 con lo stesso algoritmo in esecuzione su una CPU Xeon Platinum.

  • 00:10:00 In questa sezione, Manash spiega come sviluppatori e clienti possono integrare le proprie applicazioni con il deep learning utilizzando ONNX Runtime e lo stack Vitis AI per accelerare sugli endpoint FPGA in Azure, oltre che on-prem con l'hardware Xilinx U250. Sottolinea inoltre che gli sviluppatori possono creare il provider di esecuzione Vitis AI con ONNX Runtime dall'origine e Xilinx rilascerà presto un'immagine di macchina virtuale in Azure Marketplace con tutte le librerie software predefinite integrate in un unico posto per una facile distribuzione nella macchina virtuale di Azure NP.
 

Distribuisci i modelli Transformer nel browser con #ONNXRuntime



Distribuisci i modelli Transformer nel browser con #ONNXRuntime

Il video mostra come perfezionare e distribuire un modello BERT ottimizzato su un browser utilizzando ONNXRuntime. Il relatore mostra come convertire il modello PyTorch in formato ONNX utilizzando l'API Transformers, utilizzare ONNXRuntime per quantizzare il modello per la riduzione delle dimensioni e creare una sessione di inferenza. Il video copre anche i passaggi necessari per importare i pacchetti in JavaScript utilizzando WebAssembly e come eseguire input di testo attraverso il modello trasformato per la classificazione delle emozioni. Nonostante una riduzione dell'accuratezza della previsione, le dimensioni ridotte del modello sono ideali per la distribuzione su un browser. Vengono forniti collegamenti al modello, ai set di dati, al codice sorgente e a un post sul blog.

  • 00:00:00 In questa sezione, il presentatore video dimostra come rendere operativi i modelli di trasformatore e mostra il progetto finale che include un modello di trasformatore che è stato ottimizzato e distribuito in un browser. Il modello utilizzato nel progetto è un modello bert ottimizzato che è stato distillato da Microsoft per ridurne le dimensioni e reso indipendente dai test. Il set di dati sulle emozioni utilizzato per mettere a punto il modello è disponibile nell'hub del volto che abbraccia. Il relatore illustra il processo di messa a punto utilizzando l'API dei trasformatori e mostra come convertire il modello PyTorch nel formato ONNX utilizzando lo strumento di conversione integrato dei trasformatori. Infine, il pacchetto ONNX Runtime Web viene utilizzato per l'inferenza in JavaScript, dove è possibile scegliere diversi set di operazioni a seconda degli operatori richiesti.

  • 00:05:00 In questa sezione, il video illustra come distribuire i modelli di trasformatore nel browser con ONNXRuntime. Innanzitutto, il video spiega come utilizzare ONNXRuntime per quantizzare il modello per ridurne le dimensioni, dopodiché viene creata una sessione di inferenza sia per il modello non quantizzato che per quello quantizzato. Il video mostra quindi come importare i pacchetti necessari in JavaScript utilizzando WebAssembly e come codificare gli input di testo prima di eseguirli tramite il modello ONNXRuntime. La demo mostra come il modello trasformato può essere utilizzato per prevedere diverse emozioni dato un testo di input. Nonostante una diminuzione dell'accuratezza delle previsioni, il video conclude che le dimensioni ridotte del modello lo rendono ideale per l'implementazione nel web.

  • 00:10:00 In questa sezione, il relatore spiega come è stato possibile prendere un modello di trasformatore di grandi dimensioni, distillarlo e quantizzarlo e utilizzare ONNX Runtime per eseguire l'inferenza sull'edge. Forniscono inoltre collegamenti al modello e ai set di dati utilizzati, nonché il codice sorgente e un post sul blog sulla demo.
 

Open Neural Network Exchange (ONNX) nell'azienda: come Microsoft ridimensiona Machine Learning



Open Neural Network Exchange (ONNX) nell'azienda: come Microsoft ridimensiona il machine learning - BRK3012

L'Open Neural Network Exchange (ONNX) viene introdotto come soluzione alle sfide nella distribuzione di modelli di machine learning alla produzione, inclusa la gestione di più framework di formazione e obiettivi di distribuzione, con Microsoft che sta già ampiamente adottando ONNX per prodotti come Bing, annunci Bing e Office 365 ONNX consente la scalabilità e la manutenzione dei modelli di machine learning, nonché significativi miglioramenti delle prestazioni e risparmi sui costi attribuiti all'uso di acceleratori hardware come le GPU. Inoltre, l'ecosistema ONNX include partner come Intel per l'ottimizzazione del runtime, con kit di sviluppo e tecniche di quantizzazione immediatamente disponibili per convertire i modelli FP32 in tipi di dati di precisione inferiore, con conseguente aumento dell'efficienza. I relatori sottolineano inoltre i vantaggi dell'utilizzo di ONNX per l'edge computing, poiché il runtime è flessibile e può distribuire modelli su diverse piattaforme hardware.

  • 00:00:00 In questa sezione, i relatori discutono della portata delle iniziative di machine learning di Microsoft, inclusi oltre 180 milioni di utenti attivi mensili in Office 365 e della tecnologia di machine learning distribuita su centinaia di milioni di dispositivi Windows. Menzionano anche che Microsoft utilizza oltre sei framework di machine learning e che ci sono sfide nella distribuzione di modelli di machine learning alla produzione. Introducono ONNX e ONNX Runtime come soluzioni a queste sfide, che possono essere utilizzate con acceleratori hardware come Intel e NVIDIA e su Azure machine learning.

  • 00:05:00 In questa sezione del video, il relatore discute le sfide che sorgono durante l'addestramento dei modelli di machine learning e la loro distribuzione in produzione. Con così tanti diversi framework di formazione e obiettivi di distribuzione, diventa difficile gestire e mantenere prestazioni applicative efficienti. Per risolvere questo problema, Microsoft introduce ONNX (Open Neural Network Exchange), uno standard di settore che consente la conversione di modelli di machine learning in formato ONNX, indipendentemente dal framework utilizzato per l'addestramento. Ciò consente l'implementazione di modelli ONNX in qualsiasi framework supportato, creando una soluzione più flessibile e scalabile. Inoltre, Microsoft sta costruendo un solido ecosistema di partner per supportare ONNX e garantirne il successo come standard del settore.

  • 00:10:00 In questa sezione, il relatore discute casi d'uso di produzione reale di Open Neural Network Exchange (ONNX) e runtime ONNX per mostrare come apportano valore aziendale ai prodotti e ai clienti di Microsoft. Alcuni dei prodotti Microsoft, come Bing, Bing ads e Office 365, hanno già ampiamente adottato ONNX e il runtime ONNX e hanno registrato miglioramenti significativi nelle prestazioni del modello e una latenza ridotta. Ad esempio, con ONNX e ONNX runtime, la funzionalità di controllo grammaticale di Office 365 ha registrato un miglioramento delle prestazioni di 14,6 volte, con conseguente riduzione di costi e latenza. Anche un altro caso d'uso, l'OCR, ha beneficiato in modo significativo di ONNX e del runtime ONNX.

  • 00:15:00 In questa sezione, il relatore illustra in che modo Microsoft sta usando Open Neural Network Exchange (ONNX) per ridimensionare l'apprendimento automatico in vari scenari, tra cui il miglioramento della qualità e delle prestazioni del servizio della community OCR di Servizi cognitivi di Azure, nonché il miglioramento la loro qualità di ricerca e l'abilitazione di nuovi scenari come domande e risposte con assistenti personali. Il relatore menziona anche come ONNX e ONNX Runtime abbiano migliorato la velocità dei modelli di machine learning rispettivamente di 3,5 volte e 2,8 volte, apportando un grande valore ai loro team di prodotto. Sottolineano inoltre l'importanza di addestrare modelli di apprendimento automatico per comprendere veramente il significato semantico delle immagini per una migliore ricerca multimediale.

  • 00:20:00 In questa sezione, i relatori discutono l'uso dei modelli ONNX (Open Neural Network Exchange) nei prodotti Microsoft, in particolare la funzione di ricerca visiva di Bing. ONNX consente la scalabilità e la manutenzione dei modelli di machine learning, nonché significativi miglioramenti delle prestazioni e risparmi sui costi, ottenuti attraverso l'uso di acceleratori hardware come le GPU. I relatori sottolineano anche la versatilità di ONNX, che può essere eseguito su una varietà di piattaforme, comprese le architetture basate su x64 e ARM, ed è un motore di inferenza open source per i modelli ONNX, disponibile su Windows, Mac e Linux. L'uso di ONNX consente l'ottimizzazione dell'esecuzione su hardware di destinazione specifico senza modificare l'interfaccia del modello, rendendolo uno strumento prezioso per la scalabilità e il mantenimento delle distribuzioni di produzione.

  • 00:25:00 In questa sezione, il relatore discute l'interfaccia del provider di esecuzione utilizzata per eseguire modelli ONNX su diverse piattaforme hardware, tra cui CPU, GPU e FPGA. L'ecosistema di partner include Intel, con cui Microsoft ha collaborato all'ottimizzazione del runtime utilizzando provider di esecuzione aperti basati su VINO. Offrono anche kit di sviluppo prontamente disponibili, incluso lo stick di calcolo neurale, per accelerare i carichi di lavoro AI per vari settori verticali come produzione, vendita al dettaglio e trasporti. Microsoft e Intel hanno anche collaborato alla quantizzazione per convertire i modelli FP32 in un tipo di dati di precisione inferiore, con conseguente riduzione della larghezza di banda della memoria, ingombro di memoria ridotto del modello e aumento del numero di quattro top per watt con una perdita minima di precisione.

  • 00:30:00 In questa sezione, il relatore discute di come sono stati in grado di utilizzare le istruzioni di elaborazione vettoriale e la fusione di grafi per migliorare le prestazioni e i requisiti di memoria dei kernel gem interi per le reti neurali convoluzionali. Sono stati in grado di ottenere un calcolo 4 volte superiore e un fabbisogno di memoria 4 volte inferiore. Hanno mostrato i vantaggi dell'utilizzo di n-graph come fornitore di esecuzione insieme alla loro capacità di elaborazione hardware mostrando il ridimensionamento delle prestazioni per varie dimensioni di batch. La perdita di accuratezza era molto piccola e soddisfaceva i vantaggi motivazionali della quantizzazione. Hanno anche discusso i diversi modi per generare modelli ONNX come l'utilizzo di ONNX Model Zoo, Azure Machine Learning Experimentation e servizi di visione personalizzati di Microsoft.

  • 00:35:00 In questa sezione, il relatore spiega come eseguire sessioni di inferenza utilizzando il runtime ONNX all'interno di un'applicazione. Dopo aver convertito il modello, l'utente lo carica nel runtime ONNX e avvia l'analisi del grafico. Il runtime identifica le ottimizzazioni disponibili e interroga l'hardware sottostante per identificare il tipo di operazioni supportate dalle librerie hardware. Il runtime ONNX è progettato per essere coerente, quindi i frammenti di codice per Python e C-sharp sono molto simili. Il relatore cita anche AutoML, che consente all'utente di inserire dati per ricevere una proposta applicativa che converte automaticamente il codice in Python e C-sharp. Inoltre, il relatore descrive un'immagine docker che include convertitori per diversi framework e consente all'utente di iniziare rapidamente con il runtime ONNX. Il flusso di lavoro viene dimostrato tramite l'uso di Azure Notebooks.

  • 00:40:00 In questa sezione, il relatore discute su come utilizzare l'Open Neural Network Exchange (ONNX) e gli strumenti di apprendimento automatico di Microsoft per ridimensionare i modelli nell'azienda. Il processo prevede l'utilizzo di un'area di lavoro ML per creare un file di punteggio che include fasi di pre-elaborazione e inferenza. Il relatore mostra quindi come creare immagini contenitore per il computer e l'ambiente di destinazione, incluse immagini di base come un'immagine di base del runtime ONNX. Infine, le immagini vengono distribuite a un servizio IKS cloud con la possibilità di inviare immagini di prova per l'inferenza sugli endpoint CPU e GPU.

  • 00:45:00 In questa sezione, il relatore dimostra la flessibilità del runtime Open Neural Network Exchange (ONNX) mostrando una demo in cui lo stesso codice viene utilizzato per indirizzare un'applicazione verso diverse piattaforme hardware, come CPU rispetto a GPU e x86 contro ARM. Il relatore presenta anche una demo dell'implementazione del runtime e dei modelli ONNX su dispositivi edge, in particolare su Intel up squared, per rilevare scenari di sicurezza in uno scenario di lavoro di fabbrica utilizzando feed video preregistrati e post-elaborazione di riquadri di delimitazione. Il codice utilizzato nella demo è identico, ma vengono utilizzati diversi acceleratori hardware per ottimizzare l'applicazione. Il relatore riassume che ONNX diventa il formato comune per rappresentare i modelli di rete neurale e che il runtime ONNX consente l'implementazione sia nel cloud che nei dispositivi edge.

  • 00:50:00 In questa sezione, i relatori discutono i vantaggi dell'utilizzo di Open Neural Network Exchange (ONNX) per la creazione e la distribuzione di applicazioni di machine learning con Azure. Rispondono anche alle domande del pubblico sull'apprendimento automatico su diversi processori, sull'utilizzo di ONNX con pipeline esistenti e sulla possibilità di tornare da ONNX a framework precedenti. Inoltre, menzionano i loro piani per espandere ONNX Model Zoo con scenari e dati mirati.

  • 00:55:00 In questa sezione, i relatori discutono i vantaggi di ONNX in termini di flessibilità del framework, poiché i modelli ONNX possono essere utilizzati con una varietà di framework per la pubblicazione. Menzionano anche l'integrazione di ONNX con l'apprendimento automatico di Azure, che consente agli utenti di caricare la telemetria di inferenza per la riqualificazione o la sperimentazione. La sessione discute anche la possibilità di integrazione ONNX con Excel in modo nativo, anche se questo è ancora in fase di sviluppo. Affrontano anche la questione della creazione di algoritmi personalizzati e della loro conversione in ONNX, con la possibilità di utilizzare Python per manipolare il formato di file ONNX. Infine, la sessione menziona la necessità di un approccio alla firma dei modelli ONNX per la distribuzione, che sarà preso come feedback per futuri miglioramenti.
 

#OpenVINO Execution Provider per #ONNX Runtime - #OpenCV Weekly #Webinar Ep. 68



#OpenVINO Execution Provider per #ONNX Runtime - #OpenCV Weekly #Webinar Ep. 68

Il provider di esecuzione OpenVINO per ONNX Runtime è stato l'argomento principale di discussione in questo webinar settimanale OpenCV. Il prodotto mira ad accelerare le prestazioni per i modelli ONNX su hardware Intel, richiedendo al tempo stesso uno sforzo minimo da parte dell'utente. Il webinar ha discusso le sfide dell'implementazione di modelli di deep learning nel mondo reale, con OpenVINO presentato come la soluzione a queste sfide. OpenVINO può ottimizzare i modelli AI per prestazioni efficienti su vari dispositivi e hardware. Il runtime ONNX, un progetto open source progettato per accelerare l'inferenza del machine learning, è stato discusso a lungo. Il webinar ha anche presentato una dimostrazione del miglioramento delle prestazioni ottenuto con OpenVINO Execution Provider per ONNX Runtime, nonché delle sue funzionalità come l'inferenza multi-thread, il supporto completo per vari plug-in e la memorizzazione nella cache dei modelli. È stata discussa anche l'integrazione tra OpenVINO e PyTorch attraverso l'OpenVINO Execution Provider. I relatori hanno risposto alle domande del pubblico su argomenti come la compatibilità con i dispositivi ARM e la potenziale perdita di prestazioni o accuratezza durante l'utilizzo dei formati di interscambio ONNX.

  • 00:00:00 In questa sezione, i presentatori presentano i loro ospiti, Devon Agarwal e Prita Veeramalai, rispettivamente Technical Product Manager e AI Framework Engineer presso OpenVINO. Forniscono una breve introduzione allo spettacolo e discutono di alcuni imminenti omaggi per gli spettatori. L'argomento principale della discussione ruota attorno al provider di esecuzione OpenVINO per il runtime ONNX, che mira ad accelerare le prestazioni per i modelli ONNX su hardware Intel con il minimo sforzo richiesto da parte dell'utente. Gli host delineano anche l'agenda della sessione, che include una panoramica del deep learning e delle sue sfide, seguita da un'introduzione a OpenVINO e alle sue capacità.

  • 00:05:00 In questa sezione del video, il relatore introduce OpenVINO Execution Provider per ONNX Runtime e ne spiega lo scopo. Forniscono inoltre una panoramica di OpenVINO, ONNX e ONNX Runtime, seguita da una guida su come iniziare con OpenVINO Execution Provider per ONNX Runtime e integrarlo nelle applicazioni ONNX. Il relatore discute anche del set di funzionalità del prodotto e dei piani futuri, inclusa un'anteprima di un prodotto in anteprima beta per gli sviluppatori. La conversazione si sposta quindi sull'importanza del deep learning nel mondo di oggi, sulla necessità di IA sui dispositivi edge e sulle esigenze informatiche per l'IA. Il video copre anche le sfide associate allo sviluppo e all'implementazione di modelli di deep learning, comprese le esigenze di inferenza uniche, le sfide di integrazione e l'assenza di una soluzione valida per tutti.

  • 00:10:00 In questa sezione vengono discusse le sfide dell'implementazione di modelli di deep learning nel mondo reale. Ci sono sfide tecniche derivanti dalla disconnessione tra la formazione della rete di deep learning e l'inferenza che si verificano su piattaforme integrate. Esistono anche variazioni del linguaggio di programmazione e dell'hardware, che richiedono un'API dedicata per la comunicazione software e hardware. Il toolkit OpenVINO di Intel viene introdotto come soluzione a queste sfide. Il toolkit semplifica il flusso di lavoro di sviluppo e consente agli sviluppatori di scrivere un'applicazione una sola volta e di distribuirla nell'architettura Intel, fornendo un approccio di scrittura una volta distribuito ovunque. Il toolkit è in grado di distribuire applicazioni destinate a CPU, iGPU, Movidius VPU e GNA. Può essere prezioso in vari settori, tra cui industriale, sanitario e delle scienze della vita, vendita al dettaglio, sicurezza e protezione, offrendo risultati più rapidi, più accurati ed efficienti per l'implementazione nel mondo reale.

  • 00:15:00 In questa sezione, il relatore spiega il concetto di OpenVino e come ottimizza i modelli AI per i dispositivi edge. Spiegano come, una volta integrati in framework come PyTorch o TensorFlow, i modelli AI devono essere ottimizzati per prestazioni efficienti su dispositivi specifici come CPU, GPU o VPU. OpenVino automatizza questo processo di conversione per vari dispositivi e hardware, assicurando che i modelli siano ottimizzati per prestazioni efficienti sul dispositivo su cui è distribuito. Il relatore passa poi a spiegare cos'è ONNX, un formato aperto per rappresentare i modelli di machine learning, definendo un insieme comune di operatori come elementi costitutivi dei modelli di machine learning e deep learning. Nel complesso, ONNX consente agli sviluppatori di intelligenza artificiale di utilizzare una varietà di framework, strumenti, runtime e compilatori senza preoccuparsi delle implicazioni di inferenza a valle.

  • 00:20:00 In questa sezione, i relatori discutono del formato ONNX, un modello intermedio aperto che consente la conversione di modelli prodotti da diversi strumenti per essere letti utilizzando un formato standardizzato. Il runtime ONNX è un progetto open source progettato per accelerare l'inferenza di machine learning su vari sistemi operativi e piattaforme hardware. Identifica automaticamente le opportunità di ottimizzazione e fornisce l'accesso alla migliore accelerazione hardware disponibile. OpenVINO Execution Provider per ONNX consente alla potenza del toolkit OpenVINO di accelerare l'inferenza dei modelli ONNX su CPU, GPU e VPU Intel. Consente agli utenti di eseguire l'inferenza utilizzando le API di runtime ONNX integrando facilmente il toolkit OpenVINO come back-end.

  • 00:25:00 In questa sezione viene discussa l'integrazione tra il runtime ONNX e il provider di esecuzione OpenVINO. Questa integrazione consente l'esecuzione efficiente di modelli di deep learning sui dispositivi Intel. Il toolkit OpenVINO fornisce librerie ottimizzate per l'esecuzione di modelli su dispositivi Intel. Quando il provider di esecuzione OpenVINO è abilitato, seleziona in modo intelligente quali operatori nel modello devono essere eseguiti sul back-end OpenVINO per la massima efficienza. Gli operatori rimanenti vengono eseguiti utilizzando il framework di runtime ONNX nativo. L'utente può installare il provider di esecuzione OpenVINO tramite la compilazione dall'origine, il pull dell'immagine Docker o l'utilizzo di pip install. Il pacchetto OpenVINO runtime ONNX può essere trovato su PyPI.

  • 00:30:00 In questa sezione del webinar, i relatori discutono su come utilizzare OpenVINO Execution Provider per ONNX Runtime e ne dimostrano le capacità. Spiegano come installare il prodotto utilizzando pip e forniscono frammenti di codice per mostrare come importare la libreria di runtime ONNX e avviare una sessione di inferenza. Mostrano anche quanto sia facile utilizzare OpenVINO Execution Provider con una semplice modifica a una riga di codice esistente. I presentatori invitano quindi gli spettatori a scansionare i codici QR per accedere a demo e campioni da provare da soli.

  • 00:35:00 In questa sezione, il video presenta una dimostrazione del miglioramento delle prestazioni ottenuto con OpenVINO Execution Provider (EP) per ONNX Runtime. Il video mostra un confronto tra i 5 fps raggiunti con il provider di esecuzione della CPU e gli 8 fps raggiunti con l'EP OpenVINO. Inoltre, il video presenta una demo della quantizzazione utilizzando OpenVINO EP per ONNX Runtime, che ha portato a un aumento delle prestazioni raddoppiato con una perdita di precisione trascurabile. Il notebook demo è disponibile su Intel DevCloud, che fornisce l'accesso remoto all'hardware Intel reale per il benchmarking e l'analisi.

  • 00:40:00 finito con la dimostrazione? In questa sezione, il relatore mostra come avviare OpenVINO Execution Provider per ONNX Runtime e selezionare l'hardware, come i3, i5, xenon o Core i9, e la divisione grafica. Mostrano anche il notebook Jupyter e l'esempio di rilevamento degli oggetti, che prende il video in ingresso e un modello ONNX per eseguire l'interferenza sul dispositivo. Il relatore spiega che esiste il supporto per CPU, GPU e supporti VADM FP16 e menziona anche il provider di esecuzione della CPU, che è il backend di runtime ONNX nativo. Infine, il relatore discute l'utilità dell'OpenVINO Execution Provider per testare diversi hardware senza acquistare o noleggiare ogni dispositivo.

  • 00:45:00 In questa sezione vengono discusse le funzionalità dell'Execution Provider di OpenVINO. Offre inferenza multi-thread, supporto completo per vari plug-in e memorizzazione nella cache dei modelli. Sono inoltre disponibili la quantizzazione del modello e il partizionamento del grafico, nonché API per più lingue. Le ottimizzazioni del buffer IO sono presenti per migliorare le prestazioni e il salvataggio di file esterni è disponibile per i modelli ONNX. Viene posta una domanda al pubblico per vincere un premio e viene condivisa un'anteprima dell'integrazione di OpenVINO per i modelli PyTorch.

  • 00:50:00 In questa sezione, discutono dell'integrazione di OpenVINO con PyTorch tramite il provider di esecuzione OpenVINO. Questo prodotto può accelerare le prestazioni dei modelli PyTorch su hardware Intel utilizzando solo due righe di codice aggiuntive. L'utente può avvolgere il proprio nn.module nel modulo di inferenza torch orp/ort che prepara il modulo per l'inferenza utilizzando il provider di esecuzione OpenVINO ed esporta il modulo in un grafico in memoria tramite onnx.export. La sessione ONNXruntime partiziona quindi il grafico in sottografi con operatori supportati e non supportati per il partizionamento del sottografo e i nodi compatibili con OpenVINO verranno eseguiti dal provider e possono essere eseguiti su CPU Intel, GPU o VPU, mentre tutti gli altri nodi ripiegheranno sul provider di esecuzione predefinito della CPU ML. Il processo di installazione è semplice, con la possibilità di compilare dal sorgente, eseguire una semplice installazione pip e ottenere l'accesso all'intera gamma di API Python.

  • 00:55:00 In questa sezione, gli host dell'OpenCV Weekly Webinar leggono le domande del pubblico su argomenti come la compatibilità di OpenVINO con i dispositivi ARM e la potenziale perdita di prestazioni o accuratezza durante l'utilizzo dei formati di interscambio ONNX. Gli host e i relatori spiegano che OpenVINO può effettivamente funzionare e dare una spinta ai dispositivi CPU ARM e ONNX può persino migliorare le prestazioni per la maggior parte dei modelli. Tuttavia, è sempre consigliabile testare l'accuratezza su un set di test durante la conversione da un formato all'altro. I presentatori chiariscono inoltre che ONNX supporta modelli di forme dinamiche, contrariamente a una domanda del pubblico. Infine, i presentatori ei presentatori ringraziano il pubblico e Phil, l'organizzatore, per l'ottima presentazione e sessione informativa.
 

Importazione di reti neurali con ONNX



Importazione di reti neurali con ONNX

Questo video esplora l'importanza del progetto ONNX (Open Neural Network Exchange) nell'apprendimento automatico e i suoi vantaggi nella conversione dei modelli in vari strumenti. Il relatore discute le sfide del caricamento manuale dei modelli o l'utilizzo di strumenti automatizzati e di come ONNX elimina questo problema attraverso il suo modello computazionale basato su grafici. Il relatore sottolinea inoltre i vantaggi di ONNX nella conversione manuale di modelli complessi e la sua compatibilità con diversi framework. Il video tocca i modelli di rete parametrizzati, la struttura di ONNX e le potenziali sfide che possono sorgere durante l'utilizzo del progetto. Nonostante queste sfide, il relatore ritiene che ONNX prospererà grazie al suo sostanziale sostegno da parte di varie aziende.

  • 00:00:00 In questa sezione, il relatore discute l'importanza di ONNX nell'apprendimento automatico e le difficoltà incontrate durante il caricamento dei modelli manualmente o tramite strumenti automatizzati. Il relatore spiega che con l'introduzione di PyTorch e TensorFlow, la maggior parte dei modelli viene sviluppata in tali framework, rendendo difficile l'inserimento di modelli esterni in altri framework. Il processo manuale di conversione dei modelli richiede molto tempo ed è noioso poiché il processo prevede il collegamento dei pesi all'architettura, il che non è una cosa divertente da fare. Il relatore discute quindi la crescita del repository della rete neurale e di come hanno aggiunto diversi modelli al repository dalla versione 12. Presentano anche MobileNet, una rete di classificazione delle immagini introdotta nel 2018, che riduce le dimensioni delle reti di classificazione delle immagini ed esegue Più veloce.

  • La sezione 00:05:00 si concentra sull'importanza dei modelli di rete parametrizzata e sul motivo per cui sono necessari nel repository della rete neurale. Senza la parametrizzazione, il repository diventerebbe troppo lungo e difficile da navigare. Spiega inoltre come scegliere un modello non predefinito e fornisce un esempio del modello BPE, che tokenizza i segmenti in parole o sottoparole a seconda della lingua. La sezione evidenzia anche la necessità di ONNX nella conversione manuale, poiché la conversione manuale di modelli complessi come il famoso modello rilasciato il 14 febbraio 2019 può essere impegnativa.

  • 00:10:00 In questa sezione, il relatore descrive i dettagli della funzione net encoder utilizzata nel modello GPD2. Questa funzione ha tutta la pre-elaborazione di cui il modello ha bisogno e converte una stringa in un elenco di token. Inoltre, fornisce l'indice di posizione e ha un vettore di dimensione 768, a seconda della dimensione del modello utilizzato. Il relatore spiega che la creazione manuale dell'architettura per la rete a 800-1000 livelli non era fattibile, ed è per questo che avevano bisogno di ONNX. Il vantaggio dell'utilizzo di ONNX è che elimina la necessità di mantenere un singolo convertitore per ogni tipo e dispone di uno zoo modello che gli utenti possono sfruttare per importare diversi modelli in modo efficace.

  • 00:15:00 In questa sezione, lo YouTuber discute i vantaggi e le specifiche del progetto Open Neural Network Exchange (ONNX). Il progetto consente la conversione del modello da strumenti all'avanguardia, facilitando la scelta dello strumento migliore per la creazione del modello. ONNX ha un vasto elenco di partner della comunità, comprese le grandi aziende, che semplificano lo spostamento dei modelli tra vari strumenti. Il progetto fornisce strumenti di ottimizzazione hardware e strumenti di visualizzazione, che mancano in molti altri framework. Lo YouTuber ritiene che, poiché il progetto ha un notevole sostegno da parte di varie aziende, continuerà a prosperare.

  • 00:20:00 In questa sezione, il relatore discute la struttura di ONNX, un modello computazionale basato su grafo che ha operatori implementati esternamente al grafo. Ogni nodo nel grafico viene indicato come un operatore e ha uno o più input e output che devono essere portabili tra framework. Il relatore fornisce un esempio di come funziona ONNX, dimostrandolo con una funzione interna che prende il modello nel formato del protocollo e lo converte in un'Associazione matematica. Il grafico contiene i metadati relativi al modello. L'oratore spiega quindi come il grafico abbia nodi diversi e passa il tempo a discutere le proprietà di uno strato di convoluzione, che è uno dei nodi del grafico. Infine, mostra come ottenere informazioni sulle dimensioni del livello.

  • 00:25:00 In questa sezione, il relatore discute alcuni dei problemi che possono sorgere quando si lavora con ONNX. Ci sono alcuni errori che possono verificarsi con l'operatore di risagoma quando non ha le dimensioni del badge, quindi la copertura dell'operatore deve essere migliorata per supportare questi tipi di casi. L'oratore afferma che c'è del lavoro futuro da fare in termini di aggiunta del supporto per RNN e iperreti statiche, oltre a collegare altri strumenti come l'inferenza di versione e forma e i controllori del modello. Inoltre, il miglioramento della copertura degli operatori rimane un lavoro in corso. Tuttavia, il relatore sottolinea che ONNX è in fase di sviluppo attivo e ha il supporto delle principali aziende.
 

Importazione ed esportazione di reti neurali con ONNX



Importazione ed esportazione di reti neurali con ONNX

Il video dimostra l'uso di ONNX come specifica multipiattaforma e formato di file per i modelli di machine learning per lo scambio di modelli tra diversi framework di reti neurali. I relatori mostrano come importare ed esportare reti neurali utilizzando ONNX tramite Mathematica e Keras e come ispezionare e importare metadati, nonché impostare metadati durante l'esportazione. Discutono anche dell'esportazione e importazione di modelli tra Core ML, PyTorch e Wolfram Language e dell'importanza di utilizzare l'offset corretto durante la conversione. I relatori discutono del futuro di ONNX, compreso l'ampliamento del supporto per l'importazione e l'esportazione, il miglioramento dei casi complessi per l'importatore e la possibilità di esportare verso più versioni di set di operatori. Inoltre, il relatore spiega la differenza tra ONNX e MXNet e fornisce informazioni su come verificare quali funzioni possono essere esportate su ONNX utilizzando le utility interne.

  • 00:00:00 In questa sezione, Matteo Salvarezza e Maria Sarksyan introducono ONNX, una specifica multipiattaforma e un formato di file per modelli di machine learning che consente a diversi framework di reti neurali di scambiare modelli tra loro. Dimostrano come importare ed esportare reti neurali utilizzando ONNX tramite Mathematica e Keras, mostrando come ispezionare e importare metadati e come impostare i metadati durante l'esportazione. Mostrano quindi la conversione di un modello Fortnite da Mathematica a Keras e poi a ONNX prima di reimportarlo in Mathematica.

  • 00:05:00 In questa sezione, il relatore discute il modello di segmentazione che segmenta un'immagine in materia bianca e materia grigia per indicare i diversi tessuti anatomici del cervello umano. L'architettura di questo modello consiste in un codificatore di tipo unità condivisa e decodificatori distinti. Il relatore delinea il processo di esportazione di un'immagine del cervello in un file JPEG, importazione in Python, esecuzione del modello per valutare l'immagine ed esportazione dell'immagine segmentata in un file NS per la reimportazione in Mathematica. Il processo prevede l'utilizzo della libreria OneNext e l'esecuzione di un controllo aggiuntivo, seguito dall'importazione dell'esportazione ONNX, dall'impostazione di un input per il modello Keras, dalla previsione e dall'esportazione dell'immagine segmentata in un file NS. Infine, il relatore rileva l'importanza di garantire che l'intervallo importato dell'immagine sia compreso tra zero e uno e diviso per 255.

  • 00:10:00 In questa sezione del video, il relatore discute l'importazione e l'esportazione di reti neurali utilizzando ONNX. Menzionano la possibilità di esportare modelli da Keras a ONNX e quindi reimportarli in Mathematica. Il relatore sottolinea l'importanza di utilizzare l'offset corretto nel processo di conversione e osserva che alcune operazioni potrebbero dover essere sostituite utilizzando operatori net surgery. Quindi dimostrano come spostare un modello da Core ML a ONNX utilizzando il pacchetto di strumenti ONNX ML e come esportare un modello preaddestrato e le relative classi in Core ML. Il video sottolinea che ci sono molti passaggi coinvolti nel processo e fornisce esempi che gli utenti possono valutare da soli.

  • 00:15:00 In questa sezione, il relatore spiega come esportare da ONNX a Core ML, inclusa la correzione di media e varianza, utilizzando le funzioni appropriate. Coprono anche la conversione di una rete da PyTorch a ONNX e quindi al linguaggio Wolfram completo. Il processo prevede un intervento chirurgico necessario per rendere utilizzabile il formato finale e il relatore mostra come sono riusciti a ottenere un formato utilizzabile e valutarlo. Infine, il relatore dimostra il passaggio finale del passaggio dal linguaggio Wolfram a PyTorch tramite ONNX prendendo la rete e le classi pre-addestrate ed esportandole.

  • 00:20:00 In questa sezione del video, i relatori discutono dell'importazione e dell'esportazione di reti neurali con ONNX. Spiegano che una volta caricato il modello ONNX, può essere convertito e valutato in PyTorch e vengono utilizzate trasformazioni come ridimensionamento, ritaglio centrale e normalizzazione. Il modello viene valutato per ottenere le tre classi con le probabilità più elevate. I relatori passano quindi a discutere il futuro dell'importazione e dell'esportazione di ONNX, incluso l'ampliamento del supporto per l'importazione e l'esportazione, il miglioramento dei casi difficili per l'importatore e la possibilità di esportare verso più versioni di set di operatori.

  • 00:25:00 In questa sezione, il relatore spiega la differenza tra ONNX e MXNet. MXNet è un framework di rete neurale completo, mentre ONNX è solo un formato di file utilizzato per esportare e importare reti neurali. L'oratore menziona anche che esiste un software separato chiamato ONNX runtime, che funge da vero e proprio framework. Il relatore fornisce anche informazioni su come verificare quali funzioni possono essere esportate su ONNX utilizzando le utilità interne.