Windows.AI.MachineLearning Namespace
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ermöglicht Apps das Laden von Machine Learning-Modellen, das Binden von Features und das Auswerten der Ergebnisse.
Klassen
ImageFeatureDescriptor |
Beschreibt die Eigenschaften des Bilds, das das Modell erwartet. |
ImageFeatureValue |
Beschreibt die Eigenschaften des Bilds, das zum Übergeben an ein Modell verwendet wird. |
LearningModel |
Stellt ein trainiertes Machine Learning-Modell dar. |
LearningModelBinding |
Wird verwendet, um Werte an benannte Eingabe- und Ausgabefeatures zu binden. |
LearningModelDevice |
Das Gerät, das zum Auswerten des Machine Learning-Modells verwendet wird. |
LearningModelEvaluationResult |
Rufen Sie die Ergebnisse der Auswertung ab. |
LearningModelSession |
Wird zum Auswerten von Machine Learning-Modellen verwendet. |
LearningModelSessionOptions |
Beschreibt Rückschlussoptionen, die beim Erstellen von LearningModelSession-Objekten verwendet werden. |
MapFeatureDescriptor |
Eine Zuordnung ist eine Sammlung von (Schlüssel-, Wert-)Paaren. |
SequenceFeatureDescriptor |
Eine Sequenz ist ein Array von Elementen. |
TensorBoolean |
Ein boolesches Tensorobjekt. |
TensorDouble |
Ein 64-Bit-Float-Tensorobjekt. |
TensorFeatureDescriptor |
Tensoren sind mehrdimensionale Arrays von Werten. |
TensorFloat |
Ein 32-Bit-Float-Tensorobjekt. |
TensorFloat16Bit |
Ein 16-Bit-Float-Tensorobjekt. |
TensorInt16Bit |
Ein 16-Bit-Ganzzahl-Tensorobjekt mit Vorzeichen. |
TensorInt32Bit |
Ein 32-Bit-Ganzzahl-Tensorobjekt mit Vorzeichen. |
TensorInt64Bit |
Ein 64-Bit-Ganzzahl-Tensorobjekt mit Vorzeichen. |
TensorInt8Bit |
Ein 8-Bit-Ganzzahl-Tensorobjekt mit Vorzeichen. |
TensorString |
Ein Zeichenfolgen-Tensorobjekt. |
TensorUInt16Bit |
Ein 16-Bit-Tensorobjekt ohne Vorzeichen. |
TensorUInt32Bit |
Ein 32-Bit-Tensorobjekt ohne Vorzeichen. |
TensorUInt64Bit |
Ein 64-Bit-Tensorobjekt ohne Vorzeichen. |
TensorUInt8Bit |
Ein 8-Bit-Tensorobjekt ohne Vorzeichen. |
Schnittstellen
ILearningModelFeatureDescriptor |
Beschreibt die allgemeinen Eigenschaften, die alle Features aufweisen. |
ILearningModelFeatureValue |
Der instanziierte Wert für ein Feature. |
ILearningModelOperatorProvider |
Beschreibt die Operaatoren für ein Lernmodell. |
ITensor |
Tensoren sind mehrdimensionale Werte. |
Enumerationen
LearningModelDeviceKind |
Definiert die Liste der Gerätetypen, die ein Machine Learning-Modell auswerten können. |
LearningModelFeatureKind |
Eingabe- und Ausgabefeaturetypen für ein Machine Learning-Modell. |
LearningModelPixelRange |
Definiert die Liste der nominalen Bildpixelbereiche, die von Windows ML unterstützt werden. Der richtige Wert wird in den Metadaten eines Machine Learning-Modells angegeben. |
TensorKind |
Definiert die Liste der unterstützten Tensor-Datentypen. |
Beispiele
Im folgenden Beispiel wird ein Modell geladen, eine Auswertungssitzung erstellt, die Eingabe- und Ausgabefeatures des Modells abgerufen, diese Features gebunden und ausgewertet.
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;
}
}
Hinweise
Windows Server
Um diese API unter Windows Server verwenden zu können, müssen Sie Windows Server 2019 mit Desktopoberfläche verwenden.
Threadsicherheit
Diese API ist threadsicher.