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.
Windows ML supporta due modalità di distribuzione per Windows Runtime di ML: indipendente e dipendente dal framework. Scegliere in base alle dimensioni, all'aggiornamento e ai requisiti di dipendenza dell'app.
Per altre informazioni su Windows ML, vedere Che cos'è Windows ML.
Avvio rapido
Ecco la versione breve di come installare Windows ML nel progetto:
Per l'opzione autonoma (aumenta le dimensioni dell'app di circa 41 MB, non si aggiorna automaticamente):
- Per le app destinate a Windows 10 Build 18362 o versione successiva, installare Microsoft.Windows. Intelligenza artificiale. MachineLearning
- In alternativa, per le app destinate Windows 10 Build 17763 o versione successiva, installare Microsoft. WindowsAppSDK.ML
- Non installare
Microsoft.WindowsAppSDK.Runtimeo il pacchetto principaleMicrosoft.WindowsAppSDK
Per l'opzione dipendente dal framework (dimensioni dell'app ridotte, aggiornamenti automatici), installare:
- Microsoft.WindowsAppSDK.ML
- Microsoft.WindowsAppSDK.Runtime
- Vedere quindi Distribuzione per le app SDK per app di Windows dipendenti dal framework per informazioni sulla distribuzione del runtime di SDK per app di Windows, che include Windows ML Runtime.
Per informazioni dettagliate su ogni opzione, vedere le sezioni seguenti.
Requisiti
- .NET 8 o versione successiva
- Identificatore del framework di destinazione
net8.0-windows10.0.17763.0o versione successiva se si usa Microsoft.WindowsAppSDK.ML, o identificatore del framework di destinazionenet8.0-windows10.0.18362.0o versione successiva se si usa Microsoft.Windows.IntelligenzaArtificiale.MachineLearning
Note
Con .NET 6 è possibile usare lo Microsoft.Windows.AI.MachineLearning spazio dei nomi per installare i provider di esecuzione, ma Microsoft.ML.OnnxRuntime le API non sono disponibili. Eseguire l'aggiornamento a .NET 8 per accedere alla superficie completa dell'API windows ML.
Cosa contiene il runtime di Windows ML
Il runtime di ML Windows è costituito da questi file binari:
| Binary | Descrizione | Dimensioni approssimative |
|---|---|---|
Microsoft.Windows.AI.MachineLearning.dll |
API di Windows ML (ExecutionProviderCataloge così via) |
~1 MB |
onnxruntime.dll |
Motore di runtime ONNX | ~20 MB |
DirectML.dll |
DirectML: provider di esecuzione GPU incluso | ~20 MB |
| Totale | ~41 MB |
I provider di esecuzione dei fornitori (QNN, VitisAI, OpenVINO, NvTensorRtRtx, MIGraphX) non fanno parte di Windows ML Runtime. Vengono ottenuti separatamente, sia tramite il ExecutionProviderCatalog in fase di esecuzione, sia pacchettizzati da te stesso. Consulta Accelerare i modelli di intelligenza artificiale.
Scelta di una modalità di distribuzione
Quando si usa Windows ML, è possibile scegliere tra due modalità di distribuzione per il runtime di ML Windows: indipendente e dipendente dal framework.
| Autonomo | Dipendente dal framework | |
|---|---|---|
| Lingue supportate | C#, C++/WinRT, C/C++ | C#, C++/WinRT, Python |
| Tipi di confezionamento supportato | ** Non confezionato e confezionato (MSIX) | ** Non confezionato e confezionato (MSIX) |
| Distribuzione aziendale | Supportato | Supportato |
| Dimensioni dell'app | Maggiore — i file binari di Windows ML Runtime sono inclusi nella tua app (~41 MB) | Ridotto — i file binari di Windows ML Runtime sono condivisi a livello di sistema |
| Aggiornamenti di Windows ML | Manuale: si spedisce una nuova versione quando si sceglie | Automatico: gli utenti ottengono gli aggiornamenti tramite la manutenzione di SDK per app di Windows |
| Dipendenza dal runtime installato | No: tutte le dipendenze si trovano nel pacchetto dell'app | Sì: il runtime di SDK per app di Windows deve essere presente |
| Pacchetto NuGet (C#/C++) |
Microsoft.Windows.AI.MachineLearning o Microsoft.WindowsAppSDK.ML |
Microsoft.WindowsAppSDK.ML + Microsoft.WindowsAppSDK.Runtime |
| Ideale per | Controllo rigoroso della versione | App che richiedono dimensioni minime di download/installazione; App in spedizione tramite Microsoft Store |
Installazione autonoma
Le app possono scegliere di contenere automaticamente i file binari Windows ML Runtime direttamente nell'app. Non è necessaria alcuna dipendenza del runtime esterno, ma l'app sarà più grande. Si tratta dell'impostazione predefinita quando si fa riferimento a Microsoft.Windows.AI.MachineLearning o Microsoft.WindowsAppSDK.ML senza fare riferimento al pacchetto principale Microsoft.WindowsAppSDK o Microsoft.WindowsAppSDK.Runtime. Se si usano i pacchetti SDK per app di Windows, vedere Guida alla distribuzione per le app autonome per informazioni dettagliate.
Nel progetto installare o aggiornare i pacchetti NuGet seguenti:
- Per le app destinate a Windows 10 Build 18362 o versione successiva:
- Installare Microsoft.Windows.AI.MachineLearning(questo aggiunge le API e i file binari di Windows ML, impostazione predefinita: self-contained)
- In alternativa, per le app destinate a Windows 10 Build 17763 o versione successiva:
- Installare Microsoft. WindowsAppSDK.ML(aggiunge le API e i file binari Windows ML, l'impostazione predefinita è indipendente e aggiunge il supporto WinRT RegFree per 17763)
- Non installare Microsoft.WindowsAppSDK.Runtime(questa operazione abilita la modalità dipendente dal framework... rimuoverlo se è attualmente installato)
- Non installare il pacchetto NuGet Microsoft.WindowsAppSDK principale (in questo modo si abilita la modalità dipendente dal framework... rimuoverlo se è attualmente installato)
- È possibile installare altri pacchetti di componenti di SDK per app di Windows, ad esempio Microsoft.WindowsAppSDK.AI, purché non si installi il runtime o il pacchetto principale
Note
Se devi usare il pacchetto NuGet principale Microsoft.WindowsAppSDK, aggiornalo alla versione 1.8.1 o successiva, che include Windows ML e tutte le altre API di SDK per app di Windows, e nel tuo .csproj, imposta WindowsAppSDKSelfContained su true per abilitare la modalità autonoma.
Installazione dipendente dal framework
La versione dipendente dal framework del runtime Windows ML è contenuta nel runtime di SDK per app di Windows, che deve essere installato nel computer dell'utente finale. Per dettagli, vedere Distribuzione di app dipendenti dal framework con SDK per app di Windows.
Nel progetto installare o aggiornare i pacchetti NuGet seguenti:
- Microsoft.WindowsAppSDK.ML(aggiunge le API di Windows ML)
- Microsoft.WindowsAppSDK.Runtime(abilita la modalità dipendente dal framework)
Note
In alternativa, installare/aggiornare il pacchetto NuGet Microsoft.WindowsAppSDK principale alla versione 1.8.1 o successiva, che include Windows ML e tutte le altre API di SDK per app di Windows e per impostazione predefinita dipende dal framework.
Oltre a ciò, nel file .csproj garantire che WindowsAppSDKSelfContained sia non specificato (non presente) oppure false, così che utilizzi il deployment dipendente dal framework.
Infine, consulta Architettura di distribuzione per le app dipendenti dal framework per apprendere come distribuire il runtime di SDK per app di Windows sui dispositivi degli utenti insieme all'app.