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 viene fornito come parte di SDK per app di Windows e supporta due modalità di distribuzione: dipendente dal framework (scelta consigliata) e indipendente. 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'installazione dipendente dal framework (scelta consigliata) installare:
- Microsoft.WindowsAppSDK.ML
- Microsoft.WindowsAppSDK.Runtime
- Vedere quindi Distribuzione per le app dipendenti dal framework per informazioni su come distribuire il runtime
- 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 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.
Che cos'è in Windows ML
Windows ML è 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 fornitori di esecuzione dei vendor (QNN, VitisAI, OpenVINO, NvTensorRtRtx, MIGraphX) non fanno parte di Windows ML stesso. 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: dipendente dal framework (scelta consigliata) e indipendente.
| Dipendente dal framework (scelta consigliata) | Autonomo | |
|---|---|---|
| Lingue supportate | C#, C++/WinRT, Python | C#, C++/WinRT, C/C++ |
| Tipi di confezionamento supportato | ** Non confezionato e confezionato (MSIX) | ** Non confezionato e confezionato (MSIX) |
| Distribuzione aziendale | Supportato | Supportato |
| Dimensioni dell'app | Dimensioni inferiori: i file binari di Windows ML sono condivisi a livello di sistema | Più grande: i file binari di Windows ML vengono raggruppati con l'app (~41 MB) |
| Aggiornamenti di Windows ML | Automatico: gli utenti ottengono gli aggiornamenti tramite la manutenzione di SDK per app di Windows | Manuale: si spedisce una nuova versione quando si sceglie |
| Dipendenza dal runtime installato | Sì: il runtime di SDK per app di Windows deve essere presente | No: tutte le dipendenze si trovano nel pacchetto dell'app |
| Pacchetto NuGet (C#/C++) | Microsoft.WindowsAppSDK.ML + Microsoft.WindowsAppSDK.Runtime |
Microsoft.Windows.AI.MachineLearning o Microsoft.WindowsAppSDK.ML |
| Ideale per | App che richiedono dimensioni minime di download/installazione; App in spedizione tramite Microsoft Store | Controllo rigoroso della versione |
Installazione dipendente dal framework (scelta consigliata)
Le app dipendenti dal framework si basano sul runtime di SDK per app di Windows installato nel computer dell'utente. Per informazioni dettagliate , vedere Architettura di distribuzione per le app dipendenti dal framework .
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.
Installazione autonoma
Le app autonome raggruppano tutti i file binari di Windows ML 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. Per informazioni dettagliate, vedere La guida alla distribuzione per le app autonome .
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.