Ghid complet pentru utilizarea ONNX Runtime local

Ultima actualizare: 07/01/2026
Autorul: Isaac
  • ONNX Runtime vă permite să rulați modele ONNX rapid și pe diferite platforme, profitând de CPU, GPU, NPU și alte acceleratoare.
  • Modelele antrenate în framework-uri precum PyTorch sau TensorFlow pot fi exportate în ONNX și implementate în aplicații .NET, C++ sau mobile fără reantrenament.
  • En ferestre dinONNX Runtime se integrează cu DirectML, WinUI, Windows ML și AI Dev Gallery pentru viziune computerizată locală și LLM.
  • Ecosistemul ONNX facilitează implementarea în producție a unor modele precum ResNet sau YOLO în medii cloud, edge, mobile și industriale.

Ghidul utilizatorului ONNX Runtime

Dacă lucrezi cu inteligența artificială Și cu învățarea automată în viața de zi cu zi, mai devreme sau mai târziu vei da peste asta. modele în format ONNX și cu Motorul de execuție ONNXAceastă combinație a devenit una dintre pietrele de temelie pentru purtarea modelelor de IA de la mediul de laborator la aplicații din lumea reală pe Windows, cloud, dispozitive mobile și chiar dispozitive edge.

În acest ghid vom vedea, cu calm, dar fără a ocoli tufișul, Cum să profitați la maximum de ONNX Runtime atât pentru modelele clasice, cât și pentru LLM și viziune computerizatăVoi explica exact ce este, cum se raportează la framework-uri precum PyTorch sau TensorFlow, cum se integrează în aplicații .NET și WinUI, cum se profită de accelerarea GPU, NPU sau FPGA și care sunt cele mai interesante cazuri de utilizare practică.

Ce este ONNX și ce probleme rezolvă ONNX Runtime?

ONNX (Open Neural Network Exchange) este un standard deschis pentru reprezentarea modelelor de inteligență artificială astfel încât să se poată mișca între diferite cadre și hardware fără a relua lucrarea. Gândiți-vă la ONNX ca la un „traducător universal” al rețelele neuronaleTe antrenezi în PyTorch, exporți în ONNX și apoi poți rula același model în alte medii optimizate.

Intern, un model ONNX este definit ca un graf computațional staticunde fiecare nod reprezintă o operație matematică (convoluție, activare, normalizare etc.), iar muchiile reprezintă fluxul tensorilor de date. Acest grafic folosește un set de operatori standard pe care diferite motoare de execuție îi pot interpreta.

ONNX Runtime este motorul de inferență de înaltă performanță conceput pentru a rula acele modele ONNXEste multiplatformă, extrem de optimizat și vă permite să conectați diferiți furnizori de execuție pentru a profita de CPU, GPU, NPU, FPGA sau alte acceleratoare hardware fără a fi nevoie să modificați codul de inferență.

In practica, ONNX Runtime acționează ca un strat de compatibilitate și accelerarePrimește un singur fișier .onnx și îl execută folosind cel mai bun hardware disponibil, aplicând optimizări precum fuziunea operatorilor, programarea eficientă a memoriei și suport pentru modele cuantizate.

ONNX Runtime în aplicațiile Windows

Avantajele utilizării ONNX Runtime la nivel local

Unul dintre lucrurile grozave despre ONNX Runtime este că Îți permite să rulezi modele de inteligență artificială complet local.fără a se baza pe servicii cloud. Acest lucru se potrivește foarte bine scenariilor în care confidențialitatea, latența sau costul sunt critice.

Primul avantaj evident este Confidențialitate: Datele dumneavoastră nu părăsesc niciodată dispozitivul.Dacă trebuie să procesați imagini medicale, documente interne sau conversații sensibile, posibilitatea de a rula modelul pe dispozitiv evită trimiterea de informații către terți, simplificând conformitatea cu reglementările și reducând riscurile.

Aspectul economic este, de asemenea, de remarcat, deoarece Nu trebuie să plătiți pentru inferență în serviciile cloud. Și nu vă faceți griji cu privire la limitele de utilizare. Odată ce modelul și ONNX Runtime sunt instalate, puteți face toate predicțiile dorite pe propriul hardware.

În ceea ce privește experiența utilizatorului, Latența scăzută face toată diferențaÎntrucât nu depinde de rețea, răspunsurile modelului sunt practic instantanee, lucru fundamental în aplicațiile interactive, jocuri, instrumente de editare sau sisteme de control în timp real.

În cele din urmă, există factorul de control: Tu decizi cum să versionezi, să actualizezi sau să înlocuiești modelele.fără a fi legat de o API externă. Puteți integra ONNX Runtime cu sistemele C#, C++ și alte sisteme existente. Piton sau alte limbaje și automatizați întregul ciclu de implementare a modelului.

Modelele ONNX și relația lor cu framework-urile de antrenament

Un model de inteligență artificială în format ONNX este o combinație între structura rețelei, ponderi antrenate și o definiție clară a intrărilor și ieșirilorStructura descrie straturile și operațiile, ponderile conțin cunoștințele învățate în timpul antrenamentului, iar specificațiile de intrare/ieșire indică ce formate de date acceptă modelul.

în general, Antrenezi modelul în framework-uri precum PyTorch, TensorFlow sau Keras folosind formatele lor native (.pt, .pb, .h5 etc.). După ce sunteți mulțumit de performanță, exportați modelul respectiv în formatul .onnx folosind instrumentele oficiale ale fiecărui framework sau biblioteci auxiliare.

În ceea ce privește interoperabilitatea, ONNX vă scutește de necesitatea de a rescrie sau recalifica modelele atunci când schimbați mediileDe exemplu, poți antrena un model de vedere în PyTorch și apoi să îl utilizezi într-o aplicație mobilă datorită ONNX Runtime for Mobile sau să îl integrezi într-un backend C++ fără a încărca întreaga stivă Python.

În plus, standardul ONNX Include suport pentru operatori cuantificați și diferite seturi de operatori (opseturi).Acest lucru facilitează adaptarea aceluiași model la diferite niveluri de precizie (de exemplu, trecerea de la float32 la int8) și la noi capabilități hardware pe măsură ce apar.

Exportați modelele în ONNX și rulați-le

Cum funcționează ONNX Runtime și furnizorii săi de execuție

Inima ONNX Runtime este un motor de inferență optimizat care interpretează graficul ONNX și decide cum să execute fiecare operațiune în cel mai eficient mod posibil. Pentru a face acest lucru, se bazează pe așa-numiții furnizori de execuție, care sunt module specializate pentru diferite tipuri de hardware.

Printre cei mai utilizați furnizori se numără DirectML pe Windowsceea ce vă permite să profitați de GPU-uri și NPU-uri printr-o API unificată. Utilizând furnizorul DirectML, aplicația dvs. poate rula același model ONNX pe o gamă largă de plăci grafice și acceleratoare integrate fără modificări de cod.

ONNX Runtime se integrează și cu acceleratoare specifice, cum ar fi Xilinx U250 FPGAprin biblioteci precum Vitis AI. În acest caz, Microsoft și Xilinx au colaborat astfel încât ONNX Runtime să poată rula modele pe aceste FPGA-uri, profitând din plin de capacitățile lor de paralelizare.

  Cum creez jocuri pentru poveștile mele Instagram? Table de joc și derivate

Un alt element cheie este integrarea cu Windows ML și Catalogul de furnizori de execuție WindowsAplicații precum AI Dev Gallery folosesc acest catalog pentru a se asigura că furnizorii certificați sunt înregistrați și pregătiți și, astfel, aleg automat cea mai bună combinație de CPU, GPU sau NPU disponibilă pe dispozitiv.

În cele din urmă, ONNX Runtime este folosit și ca backend pentru medii de producție critice, cum ar fi Bing Semantic Precise Image Searchunde sunt necesare performanțe și stabilitate extrem de ridicate. În aceste scenarii, capacitatea sa de a optimiza graficele și de a gestiona memoria este esențială pentru a deservi milioane de inferențe pe zi.

Creați o aplicație WinUI în C# care utilizează ONNX Runtime

Un exemplu foarte ilustrativ al utilizării ONNX Runtime în Windows este Creați o aplicație desktop cu WinUI 3 în C# care încarcă un model de clasificare a imaginilor ONNX (cum ar fi ResNet-50), execută inferențe accelerate de GPU și afișează predicțiile utilizatorului.

Primul pas este pregătirea mediului de dezvoltare: Ai nevoie de un dispozitiv Windows cu modul dezvoltator activat. și aveți instalat Visual Studio 2022 sau o versiune ulterioară cu sarcina de lucru „.NET Desktop Application Development”. Astfel, veți avea tot ce vă trebuie pentru a lucra cu proiecte WinUI integrate.

În Visual Studio, trebuie să creați un proiect nou de tip „Aplicație goală, împachetată (WinUI 3 pe desktop)” folosind C#Un nume comun pentru acest tip de exemplu ar putea fi ceva de genul ONNXWinUIExample, deși îl puteți numi cum preferați, atâta timp cât păstrați structura clară.

De acolo, ideea este de a adăuga la proiect Dependențele NuGet care vă permit să utilizați ONNX Runtime, să procesați imagini și să comunicați cu DirectXAcest lucru se face din Managerul de pachete NuGet din soluție, căutând pachetele și alegând cea mai recentă versiune stabilă.

Aplicație WinUI cu ONNX Runtime pentru clasificarea imaginilor

Pachete NuGet și configurarea interfeței

Pentru acest exemplu de clasificare a imaginilor cu accelerare pe Windows, pachetele de bază de instalat sunt Microsoft.ML.OnnxRuntime.DirectML, SixLabors.ImageSharp și SharpDX.DXGIFiecare acoperă o parte specifică a fluxului de lucru.

El paquete Microsoft.ML.OnnxRuntime.DirectML adaugă suport pentru utilizarea ONNX Runtime cu GPU-uri prin DirectML.Vă permite să rulați eficient modele ONNX pe hardware-ul grafic al dispozitivului, fără a fi nevoie să vă ocupați de managementul de nivel scăzut.

Libraria SixLabors.ImageSharp oferă utilitare avansate pentru încărcarea, redimensionarea și procesarea imaginilor în .NETÎl folosim pentru a transforma imaginea aleasă de utilizator în tensorul normalizat așteptat de modelul de clasificare (de exemplu, 224×224 pixeli în RGB).

La rândul său, SharpDX.DXGI expune funcționalitatea DirectX din C# și ne permite să selectăm adaptoare grafice specifice (cum ar fi primul GPU disponibil) pentru a le asocia cu sesiunea de inferență ONNX Runtime atunci când configurăm DirectML ca furnizor de execuție.

După ce ați instalat pachetele, este recomandat Adăugați directivele using corespunzătoare în fișierul MainWindow.xaml.cs pentru a face referire cu ușurință la spațiile de nume OnnxRuntime, Tensors, SharpDX și ImageSharp. În acest fel, codul din fereastra principală poate utiliza direct toate aceste API-uri.

Adăugați modelul ONNX și construiți interfața simplă

Următorul pas este de includeți modelul ONNX în proiectul în sineO practică obișnuită este crearea unui folder numit „model” în cadrul proiectului și copierea acolo a fișierului .onnx descărcat, de exemplu, modelul ResNet50 v2 (resnet50-v2-7.onnx) din depozitul oficial ONNX Models de pe GitHub.

În Visual Studio Solution Explorer, este recomandabil să configurați proprietatea „Copiere în directorul de ieșire” a fișierului model astfel încât să fie copiat automat la compilarea aplicației. Opțiunea „Copiați dacă este mai nouă” este de obicei suficientă pentru a asigura disponibilitatea modelului alături de executabil.

Interfața cu utilizatorul pentru exemplu poate fi foarte simplă: un buton pentru a selecta o fotografie de pe disc, un control Imagine pentru a o afișa și un TextBlock pentru a lista predicțiile.Toate acestea pot fi organizate cu o grilă cu trei coloane, astfel încât fiecare element să ocupe spațiul său.

În fișierul MainWindow.xaml, puteți înlocui StackPanel-ul generat inițial de șablonul cu O grilă cu trei coloane: buton în prima, imagine în a doua și text rezultat în a treia.Butonul va declanșa un eveniment de clic care va fi responsabil pentru întregul flux de inferență.

Pentru a face experiența mai confortabilă, este util Ajustați controlul Imagine pentru a limita lățimea maximă a imaginii afișate. (de exemplu, 300 de pixeli), astfel încât să nu perturbe designul și să păstreze TextBlock aliniat în partea de sus, astfel încât utilizatorul să poată citi predicțiile fără a derula.

Inițializați sesiunea ONNX Runtime cu DirectML

Odată ce interfața este definită, motorul de inferență trebuie pregătit. În clasa principală a ferestrei, acesta este de obicei declarat un câmp privat de tip InferenceSession și o cale de bază către folderul modeluluiAceasta permite ca sesiunea să fie inițializată o singură dată și reutilizată în inferențe ulterioare.

Funcția auxiliară InitModel se ocupă de Creați o instanță Factory1 a SharpDX pentru a obține adaptorul grafic (de obicei primul, index 0) și, cu identificatorul de dispozitiv respectiv, configurați un obiect ONNX Runtime SessionOptions unde este indicat faptul că furnizorul de execuție DirectML va fi utilizat cu dispozitivul respectiv.

În aceeași metodă, Sesiunea InferenceSession este creată prin transmiterea căii complete către fișierul .onnx și a opțiunilor de sesiune.De asemenea, este obișnuit să se seteze nivelul de severitate al jurnalului pentru depanare (de exemplu, ORT_LOGGING_LEVEL_INFO), ceea ce ajută la înțelegerea a ceea ce se întâmplă intern dacă există o problemă.

  Cum se egalizează sunetul în Windows 10? - Setări audio

Este important că InitModel verifică mai întâi dacă sesiunea a fost deja creatăDacă câmpul privat _inferenceSession nu este nul, nu este nevoie să repetați inițializarea. Acest lucru vă împiedică să încărcați modelul în mod repetat, economisește timp și resurse și generează costul inițial doar la prima utilizare.

Cu această structură, aplicația dumneavoastră are deja un motor ONNX Runtime configurat să utilizeze DirectML pe adaptorul grafic selectat, gata să primească tensori de intrare și să returneze ieșiri ale modelului accelerate hardware atunci când sunt disponibile.

Încărcarea și preprocesarea imaginilor cu ImageSharp

Fluxul de inferență începe de obicei de la gestionatorul de clicuri pe buton. Acest gestionator este utilizat un FileOpenPicker care permite utilizatorului să aleagă o imagine din sistemul de fișiere, restricționând extensiile la formate comune precum .jpg, .jpeg, .png sau .gif.

Odată ce imaginea a fost selectată, puteți afișați imediat în controlul Imagine al interfeței folosind o imagine BitmapImage și setând originea acesteia din fluxul de fișiere. Aceasta permite utilizatorului să vadă imaginea pe baza căreia vor fi generate predicții.

Pentru a pregăti datele de intrare ale modelului, intră în joc SixLabors.ImageSharp, care permite Deschideți imaginea ca Imagine și redimensionați-l la dimensiunile așteptate de model, de obicei 224 × 224 pixeli pentru modelele de tip ResNet cu clasificare generalistă.

În acest moment se aplică de obicei Redimensionare cu modul Decupare pentru a ajusta imaginea în mod corespunzătorMenținând raportul de aspect și decupând dacă este necesar, datele sunt apoi stocate într-un flux de memorie în același format detectat inițial. Acest pas asigură că toate datele de intrare au aceeași dimensiune.

Ultimul pas în preprocesare este normalizarea: se creează un DenseTensor în formă (lot de 1, trei canale RGB, înălțime și lățime), iar imaginea este scanată linie cu linie, normalizând fiecare canal separat folosind medii și deviații standard obișnuite (255* și 255*).

Configurați intrările și rulați inferența

Odată ce tensorul imaginii este umplut, este necesar să Legați-l la o OrtValue astfel încât ONNX Runtime să îl poată consuma.În mod ideal, această valoare ar trebui creată din memorie folosind OrtValue.CreateTensorValueFromMemory cu bufferul DenseTensor, evitând copii suplimentare de date.

Un dicționar este construit acolo unde Cheia este numele intrării modelului (de exemplu, „date”), iar valoarea este OrtValue. nou creat. Acest dicționar este apoi transmis sesiunii de inferență pentru a indica ce tensori ar trebui introduși în intrările graficului.

Înainte de a face deducția, este recomandabil Asigurați-vă că sesiunea este inițializată apelând InitModel, dacă acest lucru nu a fost deja făcut.Aceasta asigură că modelul se află în memorie și este configurat cu furnizorul de execuție corespunzător (DirectML în acest caz).

Pentru a rula modelul, apelați _inferenceSession.Run transmiterea unor RunOptions, a dicționarului de intrare și a colecției de nume de ieșireRezultatul este o colecție de valori OrtValues, doar pentru citire, care conține tensorii de ieșire ai modelului.

Acest proces încapsulează toată logica de execuție din ONNX Runtime, astfel încât Nu trebuie să vă faceți griji cu privire la detaliile interne de programare a CPU-ului sau GPU-uluiCodul tău rămâne relativ simplu: pregătești intrarea, apelezi Run și colectezi ieșirile.

Postprocesare, softmax și selecție prin predicție

Rezultatul unui model de clasificare este de obicei un vector de logit-uri, adică valori nenormalizate pentru fiecare clasă posibilăÎn acest exemplu, logiții sunt obținuți din prima OrtValue a rezultatelor folosind GetTensorDataAsSpan. și convertirea acestuia într-o matrice pentru a-l manipula cu LINQ.

Pentru a transforma aceste logit-uri în probabilități ușor de înțeles, se aplică următoarele o funcție softmax, care calculează exponențialele fiecărei valori și le normalizează astfel încât suma lor să fie 1În acest fel, fiecare indice al vectorului reprezintă încrederea modelului că imaginea aparține acelei clase.

Următorul pas este de a compara aceste probabilități cu o hartă a etichetelor care conține numele umane ale fiecărei clase în aceeași ordine care a fost utilizat în antrenarea modelului. Indexul matricei de ieșire trebuie să corespundă exact cu indexul etichetei din LabelMap.

Pentru a prezenta informațiile clar utilizatorului, de obicei este sortează colecția în ordinea descrescătoare a încrederii și păstrează cele mai probabile 10 eticheteFiecare este reprezentat de un obiect auxiliar care conține eticheta și probabilitatea asociată.

În final, această listă de predicții este revizuită și Un șir de text este construit și afișat în TextBlock al interfeței.inclusiv fiecare etichetă și nivelul său de încredere. În acest fel, utilizatorul poate vedea rapid ce obiecte modelul consideră cele mai probabile în imaginea selectată.

Clase auxiliare: Prediction și LabelMap

Pentru a gestiona rezultatele într-un mod mai curat, o clasă simplă numită Predicție, cu două proprietăți: Etichetă și ÎncredereAceastă clasă este utilizată la proiectarea probabilităților împreună cu numele claselor pe o secvență de rezultate tipizate.

Proprietatea Label poate fi de tip obiect pentru o flexibilitate mai mare, deși în practică De obicei, este folosit ca un șir de caractere cu numele categoriei returnate de model.Încrederea este un număr cu float care stochează probabilitatea calculată de softmax.

Pe de altă parte, o clasa statică LabelMap cu un array public de șiruri de caractere numit LabelsAceastă matrice conține toate etichetele utilizate pentru antrenarea modelului, în ordinea exactă în care au fost utilizate în timpul antrenamentului și sunt codificate în fișierul ONNX.

  Recunoașterea conținutului cu Voola, Movineder sau ClipFix: un ghid complet pentru identificarea clipurilor și găsirea locurilor unde să le vizionezi

În cazul modelelor de tip ImageNet, Lista de etichete este extinsă și include de obicei sute sau mii de clase (de exemplu, „tench”, „goldfish”, „grele rechin alb” etc.). Este o practică obișnuită să se preia această listă direct din exemplele din depozitul ONNX Runtime pentru a evita neconcordanțele de index.

Prin combinarea Prediction și LabelMap, Codul de postprocesare este mult simplificatProbabilitățile sunt iterate, asociate cu etichetele lor și ordonate în funcție de încredere, oferind un rezultat final lizibil și ușor de afișat în interfața cu utilizatorul.

Runtime ONNX cu LLM în Galeria de Dezvoltatori AI

Pe lângă modelele de viziune, ONNX Runtime Acceptă modele lingvistice mari (LLM) prin formatul ONNX Runtime GenAI.Microsoft oferă o aplicație Windows numită AI Dev Gallery, disponibilă în Microsoft Store, care vă permite să testați interactiv aceste modele ONNX LLM.

Aplicația include Exemple de generare de text, chat, rezumatizare, analiză a sentimentelor, moderare a conținutului și alte scenariiToate sunt bazate pe LLM în format GenAI. Puteți încărca modele pre-convertite sau puteți converti propriile modele din framework-uri comune.

Printre modelele acceptate în prezent pentru conversia în formatul ONNX Runtime GenAI se numără: DeepSeek R1 Distill Qwen 1.5B, Phi 3.5 Mini, Qwen 2.5-1.5B și Llama 3.2 1B, în principal în variante orientate spre „instruire” sau „solicitare”. Aceste modele sunt potrivite pentru sarcini de chat și generarea locală de text.

Galeria de Dezvoltatori de Inteligență Artificială în sine Se integrează cu extensia AI Toolkit pentru Visual Studio Code.Acest lucru vă permite să lansați instrumentul de conversie direct din selectorul de modele. Dacă nu aveți extensia instalată, puteți căuta „AI Toolkit” în marketplace-ul VS Code și, odată instalată, o puteți utiliza pentru a converti LLM-urile în formatul GenAI.

După convertirea sau descărcarea unui model, pur și simplu Reveniți la selectorul de modele din Galeria de dezvoltatori AI, alegeți fila modele personalizate și adăugați fișierul de pe disc.De acolo, puteți selecta LLM-ul în exemplele interactive și puteți vedea comportamentul acestuia în diferite sarcini text.

Integrare cu Microsoft.Extensions.AI și WinML

Sub interfața AI Dev Gallery, execuția LLM în format GenAI este gestionată de clientul OnnxRuntimeGenAIChatClient, care acționează ca o punte între ONNX Runtime și abstracțiunile Microsoft.Extensions.AI pentru chat.

Acest client este compatibil cu interfețe precum IChatClient și tipuri precum ChatMessageAcest lucru permite codului care consumă modelul să lucreze cu mesaje de nivel înalt în loc să se ocupe de tensori și detalii de nivel scăzut. Acest lucru permite aceleiași aplicații să schimbe backend-urile (de exemplu, de la un serviciu cloud la un model ONNX local) cu modificări minime.

Următoarele se efectuează în OnnxRuntimeGenAIChatClientFactory registrul furnizorului de execuție Windows ML (WinML) utilizând ExecutionProviderCatalog.GetDefault și apeluri asincrone pentru a securiza și înregistra furnizorii certificați înainte de a crea clientul de chat.

Când este creat OnnxRuntimeGenAIChatClient, Se transmit ruta către modelul ONNX și un șablon de prompt (LlmPromptTemplate). care definește formatul rolurilor de sistem, utilizator și asistent, precum și secvențele de oprire care indică unde se întrerupe generarea de text.

Cu toate acestea implementate, aplicația poate Primește mesaje, apelează GetStreamingResponseAsync și trimite incremental răspunsurile în interfață., obținând o experiență de chat fluidă cu modelul ONNX local, profitând de accelerarea hardware disponibilă prin WinML și ONNX Runtime.

Exportați modelele YOLO către ONNX și implementați-le

Dincolo de exemplele Microsoft, ecosistemul ONNX este foarte popular și în bibliotecile terțe, cum ar fi Ultralytics, unde Conversia unui model YOLO în ONNX este o chestiune de câteva linii de codAcest lucru deschide calea pentru implementarea aceluiași detector de obiecte în diferite tipuri de dispozitive.

Cu API-ul Ultralytics, puteți Încărcați un model YOLO pre-antrenat (de exemplu, yolo11n.pt) și exportați-l cu opțiunea format="onnx".Procesul traduce arhitectura și ponderile la standardul ONNX și generează un fișier .onnx gata de utilizare.

Odată ce aveți modelul în ONNX, este posibil integrați-l în aplicații mobile, web sau alte aplicații IoT folosind ONNX Runtime și variantele sale specificePe dispozitivele mobile, ONNX Runtime for Mobile oferă o versiune simplificată și optimizată pentru a consuma mai puține resurse, în timp ce pe edge și IoT Se folosesc versiuni adaptate dispozitivelor cu memorie redusă.

În mediile industriale, conversia la ONNX simplifică Integrarea modelelor de viziune computerizată în sisteme C++ sau C# vechifără a fi nevoie să se integreze interpretoare Python. Acest lucru simplifică întreținerea și reduce cerințele de implementare în sistemele în care fiecare dependență contează.

Comparativ cu utilizarea formatelor native ale framework-ului, bazarea pe ONNX Reduce frecarea la trecerea de la prototipuri de laborator la soluții de producție.Acest lucru evită rescrierile costisitoare și vă permite să profitați din plin de optimizările ONNX Runtime, TensorRT sau ale altor motoare compatibile cu formatul.

ONNX Runtime este plasat ca O componentă cheie pentru cei care doresc să ruleze modele de inteligență artificială local, să profite de accelerarea hardware și să mențină flexibilitatea între framework-uri și platforme., atât în ​​aplicații desktop, cât și mobile, dispozitive cloud sau edge.

gaia
Articol asociat:
Cum se utilizează AMD GAIA: Un ghid complet pentru rularea LLM la nivel local