Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette rubrique vous montre comment installer et utiliser Windows ML pour découvrir, télécharger et inscrire des fournisseurs d’exécution (EPs) à utiliser avec ONNX Runtime fourni avec Windows ML. Windows ML gère la complexité de la gestion des packages et de la sélection matérielle, en téléchargeant automatiquement les derniers fournisseurs d’exécution compatibles avec le matériel de votre appareil.
Si vous n’êtes pas déjà familiarisé avec le runtime ONNX, nous vous suggérons de lire les documents ONNX Runtime. En bref, Windows ML fournit une copie partagée à l’échelle windows du runtime ONNX, ainsi que la possibilité de télécharger dynamiquement des fournisseurs d’exécution (EPs).
Prerequisites
- Version de Windows prise en charge par le Kit de développement logiciel (SDK) d’application Windows
- Conditions préalables spécifiques à la langue affichées ci-dessous
- .NET 6 ou version ultérieure
- Ciblage d’un TFM spécifique à Windows 10 comme
net6.0-windows10.0.19041.0ou version ultérieure
Étape 1 : Installer ou mettre à jour le Kit de développement logiciel (SDK) d’application Windows
Les API du catalogue de modèles sont incluses dans la version expérimentale du Kit de développement logiciel (SDK) d’application Windows 2.0.0 ou ultérieure.
Consultez utiliser le Kit de développement logiciel (SDK) d’application Windows dans un projet existant pour savoir comment ajouter le Kit de développement logiciel (SDK) d’application Windows à votre projet, ou si vous utilisez déjà le Kit de développement logiciel (SDK) d’application Windows, mettez à jour vos packages.
Étape 2 : Télécharger et inscrire des adresses IP
La façon la plus simple de commencer consiste à permettre à Windows ML de découvrir, télécharger et inscrire automatiquement la dernière version de tous les fournisseurs d’exécution compatibles. Les fournisseurs d’exécution doivent être inscrits auprès du runtime ONNX à l’intérieur de Windows ML avant de pouvoir les utiliser. Et s’ils n’ont pas encore été téléchargés, ils doivent d’abord être téléchargés. L’appel EnsureAndRegisterCertifiedAsync() effectue ces deux étapes en une seule étape.
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();
Conseil / Astuce
Dans les applications de production, habillage de l’appel EnsureAndRegisterCertifiedAsync() dans un bloc try-catch pour gérer les échecs potentiels de réseau ou de téléchargement correctement.
Étapes suivantes
Après avoir inscrit des fournisseurs d’exécution, vous êtes prêt à utiliser les API ONNX Runtime dans Windows ML ! Vous voudrez...
- Sélectionner des fournisseurs d’exécution : indiquez au runtime les fournisseurs d’exécution que vous souhaitez utiliser
- Obtenir vos modèles - Utiliser le catalogue de modèles pour télécharger dynamiquement des modèles ou les inclure localement
- Exécuter l’inférence de modèle - Compiler, charger et inférencer votre modèle
Important
Les projets C# qui utilisent les Microsoft.ML.OnnxRuntime.Tensors API doivent référencer manuellement le package NuGet System.Numerics.Tensors , version 9.0.0 ou ultérieure. Sans cette référence de package NuGet, votre code rencontrera l’erreur d’exécution suivante : Could not load file or assembly 'System.Numerics.Tensors, Version=9.0.0.0.
Voir aussi
- Catalogue de modèles - Télécharger dynamiquement des modèles à partir de catalogues en ligne
- Initialiser des fournisseurs d’exécution - Autres façons de gérer le téléchargement d’EPs
- Distribuer votre application - Informations sur la distribution d’une application à l’aide de Windows ML
- Versions ONNX dans Windows ML - Informations sur la version d’ONNX Runtime fournie avec Windows ML
- Tutoriel - Tutoriel complet de bout en bout à l’aide de Windows ML avec le modèle ResNet-50
- Exemples de code - Nos exemples de code à l’aide de Windows ML