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.
Questo argomento illustra come installare e usare Windows ML per individuare, scaricare e registrare provider di esecuzione (EPS) da usare con onNX Runtime fornito con Windows ML. Windows ML gestisce la complessità della gestione dei pacchetti e della selezione hardware, scaricando automaticamente i provider di esecuzione più recenti compatibili con l'hardware del dispositivo.
Se non si ha già familiarità con il runtime ONNX, è consigliabile leggere la documentazione sul runtime ONNX. In breve, Windows ML fornisce una copia condivisa a livello di Windows del runtime ONNX, oltre alla possibilità di scaricare dinamicamente i provider di esecuzione (EPS).
Prerequisiti
- Versione di Windows supportata da Windows App SDK
- Prerequisiti specifici del linguaggio illustrati di seguito
- .NET 6 o versione successiva
- Riferirsi a un TFM specifico per Windows 10 come
net6.0-windows10.0.19041.0o versione successiva
Passaggio 1: Installare o aggiornare Windows App SDK
Windows ML è incluso in Windows App SDK 1.8.1 o versione successiva.
Vedi Usare Windows App SDK in un progetto esistente per aggiungere Windows App SDK al progetto o se stai già usando Windows App SDK, aggiorna i pacchetti.
Passaggio 2: Scaricare e registrare gli EP
Il modo più semplice per iniziare è consentire a Windows ML di individuare, scaricare e registrare automaticamente la versione più recente di tutti i provider di esecuzione compatibili. I provider di esecuzione devono essere registrati con il runtime ONNX all'interno di Windows ML prima di poterli usare. E se non sono ancora stati scaricati, devono essere scaricati per primi. La chiamata EnsureAndRegisterCertifiedAsync() eseguirà entrambe queste operazioni in un unico passaggio.
using Microsoft.ML.OnnxRuntime;
using Microsoft.Windows.AI.MachineLearning;
// First we create a new instance of EnvironmentCreationOptions
EnvironmentCreationOptions envOptions = new()
{
logId = "WinMLDemo", // Use an ID of your own choice
logLevel = OrtLoggingLevel.ORT_LOGGING_LEVEL_ERROR
};
// And then use that to create the ORT environment
using var ortEnv = OrtEnv.CreateInstanceWithOptions(ref envOptions);
// Get the default ExecutionProviderCatalog
var catalog = ExecutionProviderCatalog.GetDefault();
// Ensure and register all compatible execution providers with ONNX Runtime
// This downloads any necessary components and registers them
await catalog.EnsureAndRegisterCertifiedAsync();
Suggerimento
A volte è possibile ottenere prestazioni migliori in ONNX Runtime abilitando la rotazione dei thread. Per altre informazioni , vedi Comportamento di rotazione dei thread in Windows ML .
Suggerimento
Nelle applicazioni di produzione, incapsulare la chiamata EnsureAndRegisterCertifiedAsync() in un blocco try-catch per gestire correttamente eventuali errori di rete o di download.
Passaggi successivi
Dopo aver registrato i provider di esecuzione, è possibile usare le API di runtime ONNX all'interno di Windows ML. Ti converrà...
- Selezionare i provider di esecuzione : indicare al runtime quali provider di esecuzione si vuole usare
- Ottenere i modelli : usare il catalogo dei modelli per scaricare in modo dinamico i modelli o includerli in locale
- Eseguire l'inferenza del modello - Compilare, caricare e inferenza del modello
Vedere anche
- Catalogo modelli - Scaricare dinamicamente i modelli dai cataloghi online
- Installare i provider di esecuzione - altri modi per gestire il download dei provider di esecuzione
- Distribuire l'app - Informazioni sulla distribuzione di un'app con Windows ML
- Versioni ONNX in Windows ML - Informazioni sulla versione di ONNX Runtime fornita con Windows ML
- Tutorial - Tutorial completo end-to-end utilizzando Windows ML con il modello ResNet-50
- Esempi di codice : esempi di codice con Windows ML