Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questa guida illustra come eseguire la migrazione dall'uso del runtime ONNX autonomo (il runtime multipiattaforma gestito da Microsoft disponibile tramite NuGet o GitHub) al runtime ONNX incluso in Windows ML.
Perché passare a Windows ML?
- Stesse API ONNX : nessuna modifica al codice di runtime ONNX esistente
- Supportato da Windows - Supportato e gestito dal team di Windows
-
Dimensioni di download/installazione dell'app più piccole : l'app non deve distribuire EPS di grandi dimensioni e il runtime ONNX
- Facoltativamente, scaricare dinamicamente gli indirizzi IP a livello di sistema tramite Windows ML, in modo che non sia necessario aggregarli con l'app
- Facoltativamente, usare un ONNX Runtime condiviso a livello di sistema, in modo che non sia necessario includerlo nell'app
- EP facoltativi sempre aggiornati - Aggiorna automaticamente i fornitori di esecuzione compatibili più recenti specifici dell'hardware, senza richiedere l'aggiornamento dell'app.
- ONNX Runtime evergreen facoltativo: usando la distribuzione dipendente dal framework, l'app può ricevere automaticamente gli aggiornamenti al runtime ONNX senza richiedere l'aggiornamento dell'app stessa. Per altre informazioni, vedere la documentazione sulle versioni ONNX
Requisiti di sistema per Windows ML
- Sistema operativo: versione di Windows supportata da Windows App SDK
- Architettura: x64 o ARM64
- Hardware: qualsiasi configurazione pc (CPU, GPU integrate/discrete, NPU)
Passaggio 1: Verificare la compatibilità della versione ONNX
Vedere le versioni di ONNX Runtime fornite nella documentazione di Windows ML per assicurarsi che Windows ML abbia la versione del runtime ONNX richiesta dall'app. Apportare eventuali aggiornamenti ai modelli o al codice in base alle esigenze.
Passaggio 2: Controllare i requisiti di Windows App SDK
Windows ML supporta sia le opzioni di distribuzione dipendenti dal framework che le opzioni di distribuzione autonome in Windows App SDK. Per altre informazioni sulle opzioni di distribuzione in Windows App SDK, vedere Panoramica della distribuzione di Windows App SDK. Apportare eventuali aggiornamenti all'app in base alle esigenze.
Passaggio 3: Passare al runtime ONNX di Windows ML
Rimuovere la copia del Runtime ONNX che la tua app sta utilizzando attualmente.
Seguire quindi il passaggio 1 della documentazione introduzione a Windows ML per informazioni su come installare Windows App SDK (che contiene Windows ML).
Dopo aver installato Windows ML, gli sviluppatori C# e Python devono essere in grado di compilare l'app. Le API ONNX in Windows ML sono identiche alle API ONNX nel runtime ONNX autonomo. Per altre informazioni, vedere Usare le API ONNX in Windows ML .
Per gli sviluppatori C++, sono disponibili due opzioni...
- Aggiorna l'uso delle intestazioni ONNX Runtime per usare le intestazioni ONNX Runtime di Windows ML, incluse in una
winml/directory. - IN ALTERNATIVA, impostare la proprietà WinMLEnableDefaultOrtHeaderIncludePath su true, in modo che i percorsi dell'intestazione del runtime ONNX corrispondano al runtime ONNX autonomo usato in precedenza.
Per altre informazioni su entrambe le opzioni, vedi Usare le API ONNX .
È anche possibile eseguire la migrazione incrementale di alcuni modelli a Windows ML, usando la copia corrente di ONNX Runtime per altri modelli eseguendo più versioni di ONNX Runtime nell'app.
Passaggio 4: Usare facoltativamente gli EP di Windows ML
Per ridurre le dimensioni delle app e le complessità di distribuzione, è possibile usare i provider di esecuzione di Windows ML per accelerare l'inferenza su NPU, GPU e CPU senza portare i propri EP. Oppure, puoi continuare a usare i tuoi EP.
Passaggio 5: Eseguire l'app.
L'app dovrebbe ora lavorare localmente con Windows ML.