Windows.AI.MachineLearning Espace de noms
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Permet aux applications de charger des modèles Machine Learning, de lier des fonctionnalités et d’évaluer les résultats.
Classes
ImageFeatureDescriptor |
Décrit les propriétés de l’image attendue par le modèle. |
ImageFeatureValue |
Décrit les propriétés de l’image utilisée pour passer dans un modèle. |
LearningModel |
Représente un modèle Machine Learning entraîné. |
LearningModelBinding |
Utilisé pour lier des valeurs à des fonctionnalités d’entrée et de sortie nommées. |
LearningModelDevice |
Appareil utilisé pour évaluer le modèle Machine Learning. |
LearningModelEvaluationResult |
Obtenez les résultats de l’évaluation. |
LearningModelSession |
Utilisé pour évaluer des modèles Machine Learning. |
LearningModelSessionOptions |
Décrit les options d’inférence utilisées lors de la création d’objets LearningModelSession . |
MapFeatureDescriptor |
Une carte est une collection de paires (clé, valeur). |
SequenceFeatureDescriptor |
Une séquence est un tableau d’éléments. |
TensorBoolean |
Objet tensoriel booléen. |
TensorDouble |
Objet tenseur float 64 bits. |
TensorFeatureDescriptor |
Les tenseurs sont des tableaux multidimensionnels de valeurs. |
TensorFloat |
Objet tenseur float 32 bits. |
TensorFloat16Bit |
Objet tenseur float 16 bits. |
TensorInt16Bit |
Objet tenseur d’entier signé 16 bits. |
TensorInt32Bit |
Objet tenseur d’entier signé 32 bits. |
TensorInt64Bit |
Objet tenseur d’entier signé 64 bits. |
TensorInt8Bit |
Objet tenseur d’entier signé 8 bits. |
TensorString |
Objet tensoriel de chaîne. |
TensorUInt16Bit |
Objet tenseur d’entier non signé 16 bits. |
TensorUInt32Bit |
Objet tenseur d’entier non signé 32 bits. |
TensorUInt64Bit |
Objet tenseur d’entier non signé 64 bits. |
TensorUInt8Bit |
Objet tenseur d’entier non signé 8 bits. |
Interfaces
ILearningModelFeatureDescriptor |
Décrit les propriétés communes que toutes les fonctionnalités ont. |
ILearningModelFeatureValue |
Valeur instanciée d’une fonctionnalité. |
ILearningModelOperatorProvider |
Décrit les opérateurs d’un modèle d’apprentissage. |
ITensor |
Les tenseurs sont des valeurs multidimensionnelles. |
Énumérations
LearningModelDeviceKind |
Définit la liste des types d’appareils qui peuvent évaluer un modèle Machine Learning. |
LearningModelFeatureKind |
Types de fonctionnalités d’entrée et de sortie pour un modèle Machine Learning. |
LearningModelPixelRange |
Définit la liste de la plage de pixels nominaux d’image supporée par Windows ML. La valeur appropriée est spécifiée dans les métadonnées d’un modèle Machine Learning. |
TensorKind |
Définit la liste des types de données tensoriels pris en charge. |
Exemples
L’exemple suivant charge un modèle, crée une session d’évaluation, obtient les fonctionnalités d’entrée et de sortie du modèle, lie ces fonctionnalités et évalue.
private async Task LoadAndEvaluateModelAsync(VideoFrame _inputFrame, string _modelFileName)
{
LearningModel _model;
ImageFeatureDescriptor _inputImageDescription;
TensorFeatureDescriptor _outputImageDescription;
LearningModelBinding _binding = null;
VideoFrame _outputFrame = null;
LearningModelSession _session;
try
{
// Load and create the model
var modelFile =
await StorageFile.GetFileFromApplicationUriAsync(new Uri($"ms-appx:///Assets/{_modelFileName}"));
_model = await LearningModel.LoadFromStorageFileAsync(modelFile);
// Create the evaluation session with the model
_session = new LearningModelSession(_model);
//Get input and output features of the model
List<ILearningModelFeatureDescriptor> inputFeatures = _model.InputFeatures.ToList();
List<ILearningModelFeatureDescriptor> outputFeatures = _model.OutputFeatures.ToList();
// Retrieve the first input feature which is an image
_inputImageDescription =
inputFeatures.FirstOrDefault(feature => feature.Kind == LearningModelFeatureKind.Image)
as ImageFeatureDescriptor;
// Retrieve the first output feature which is a tensor
_outputImageDescription =
outputFeatures.FirstOrDefault(feature => feature.Kind == LearningModelFeatureKind.Tensor)
as TensorFeatureDescriptor;
//Create output frame based on expected image width and height
_outputFrame = new VideoFrame(
BitmapPixelFormat.Bgra8,
(int)_inputImageDescription.Width,
(int)_inputImageDescription.Height);
//Create binding and then bind input/output features
_binding = new LearningModelBinding(_session);
_binding.Bind(_inputImageDescription.Name, _inputFrame);
_binding.Bind(_outputImageDescription.Name, _outputFrame);
//Evaluate and get the results
var results = await _session.EvaluateAsync(_binding, "test");
}
catch (Exception ex)
{
StatusBlock.Text = $"error: {ex.Message}";
_model = null;
}
}
Remarques
Windows Server
Pour utiliser cette API sur Windows Server, vous devez utiliser Windows Server 2019 avec Expérience utilisateur.
Sécurité des threads
Cette API est thread-safe.