Windows.AI.MachineLearning Espacio de nombres
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Permite a las aplicaciones cargar modelos de aprendizaje automático, enlazar características y evaluar los resultados.
Clases
ImageFeatureDescriptor |
Describe las propiedades de la imagen que espera el modelo. |
ImageFeatureValue |
Describe las propiedades de la imagen usadas para pasar a un modelo. |
LearningModel |
Representa un modelo de aprendizaje automático entrenado. |
LearningModelBinding |
Se usa para enlazar valores a características de entrada y salida con nombre. |
LearningModelDevice |
Dispositivo que se usa para evaluar el modelo de Machine Learning. |
LearningModelEvaluationResult |
Obtenga los resultados de la evaluación. |
LearningModelSession |
Se usa para evaluar los modelos de Machine Learning. |
LearningModelSessionOptions |
Describe las opciones de inferencia que se usan durante la creación de objetos LearningModelSession . |
MapFeatureDescriptor |
Un mapa es una colección de pares (clave, valor). |
SequenceFeatureDescriptor |
Una secuencia es una matriz de elementos. |
TensorBoolean |
Un objeto tensor booleano. |
TensorDouble |
Un objeto tensor float de 64 bits. |
TensorFeatureDescriptor |
Los tensores son matrices multidimensionales de valores. |
TensorFloat |
Un objeto tensor float de 32 bits. |
TensorFloat16Bit |
Un objeto tensor float de 16 bits. |
TensorInt16Bit |
Un objeto tensor entero de 16 bits con signo. |
TensorInt32Bit |
Un objeto tensor entero de 32 bits con signo. |
TensorInt64Bit |
Un objeto tensor entero de 64 bits con signo. |
TensorInt8Bit |
Un objeto tensor entero de 8 bits con signo. |
TensorString |
Objeto tensor de cadena. |
TensorUInt16Bit |
Un objeto de tensor entero de 16 bits sin signo. |
TensorUInt32Bit |
Un objeto de tensor entero de 32 bits sin signo. |
TensorUInt64Bit |
Un objeto de tensor entero de 64 bits sin signo. |
TensorUInt8Bit |
Un objeto tensor entero de 8 bits sin signo. |
Interfaces
ILearningModelFeatureDescriptor |
Describe las propiedades comunes que tienen todas las características. |
ILearningModelFeatureValue |
Valor de instancia de una característica. |
ILearningModelOperatorProvider |
Describe los operadores de un modelo de aprendizaje. |
ITensor |
Los tensores son valores multidimensionales. |
Enumeraciones
LearningModelDeviceKind |
Define la lista de tipos de dispositivos que pueden evaluar un modelo de Machine Learning. |
LearningModelFeatureKind |
Tipos de características de entrada y salida para un modelo de Machine Learning. |
LearningModelPixelRange |
Define la lista de intervalos nominales de píxeles de imagen que windows ML supone. El valor adecuado se especifica en los metadatos de un modelo de Machine Learning. |
TensorKind |
Define la lista de tipos de datos tensor admitidos. |
Ejemplos
En el ejemplo siguiente se carga un modelo, se crea una sesión de evaluación, se obtienen las características de entrada y salida del modelo, se enlazan esas características y se evalúan.
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;
}
}
Comentarios
Windows Server
Para usar esta API en Windows Server, debe usar Windows Server 2019 con experiencia de escritorio.
Seguridad para subprocesos
Esta API es segura para subprocesos.
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: a lo largo de 2024, eliminaremos gradualmente los problemas de GitHub como mecanismo de comentarios para el contenido y lo reemplazaremos por un nuevo sistema de comentarios. Para obtener más información, consulte:Enviar y ver comentarios de