LearningModelBinding Clase
Definición
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í.
Se usa para enlazar valores a características de entrada y salida con nombre.
public ref class LearningModelBinding sealed : IIterable<IKeyValuePair<Platform::String ^, Platform::Object ^> ^>, IMapView<Platform::String ^, Platform::Object ^>
/// [Windows.Foundation.Metadata.Activatable(Windows.AI.MachineLearning.ILearningModelBindingFactory, 65536, "Windows.AI.MachineLearning.MachineLearningContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.AI.MachineLearning.MachineLearningContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class LearningModelBinding final : IIterable<IKeyValuePair<winrt::hstring, IInspectable const&>>, IMapView<winrt::hstring, IInspectable const&>
[Windows.Foundation.Metadata.Activatable(typeof(Windows.AI.MachineLearning.ILearningModelBindingFactory), 65536, "Windows.AI.MachineLearning.MachineLearningContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.AI.MachineLearning.MachineLearningContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class LearningModelBinding : IEnumerable<KeyValuePair<string,object>>, IReadOnlyDictionary<string,object>
function LearningModelBinding(session)
Public NotInheritable Class LearningModelBinding
Implements IEnumerable(Of KeyValuePair(Of String, Object)), IReadOnlyDictionary(Of String, Object)
- Herencia
- Atributos
- Implementaciones
-
IIterable<IKeyValuePair<K,V>> IEnumerable<KeyValuePair<K,V>> IIterable<IKeyValuePair<String,Object>> IEnumerable<KeyValuePair<String,Object>> IIterable<IKeyValuePair<Platform::String,Platform::Object>> IIterable<IKeyValuePair<winrt::hstring,IInspectable>> IMapView<String,Object> IReadOnlyDictionary<String,Object> IMapView<Platform::String,Platform::Object> IMapView<winrt::hstring,IInspectable>
Requisitos de Windows
Familia de dispositivos |
Windows 10, version 1809 (se introdujo en la versión 10.0.17763.0)
|
API contract |
Windows.AI.MachineLearning.MachineLearningContract (se introdujo en la versión v1.0)
|
Ejemplos
En el ejemplo siguiente se recuperan las primeras características de entrada y salida, se crea un marco de salida, se enlazan las características de entrada y salida y se evaulan.
private async Task EvaluateModelAsync(
VideoFrame _inputFrame,
LearningModelSession _session,
IReadOnlyList<ILearningModelFeatureDescriptor> _inputFeatures,
IReadOnlyList<ILearningModelFeatureDescriptor> _outputFeatures,
LearningModel _model)
{
ImageFeatureDescriptor _inputImageDescription;
TensorFeatureDescriptor _outputImageDescription;
LearningModelBinding _binding = null;
VideoFrame _outputFrame = null;
try
{
// 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
Los modelos especifican sus características de entrada y salida mediante nombres de cadena únicos. Antes de evaluar el modelo, puede enlazar las entradas y salidas a la sesión con esos nombres. Para ello, use el objeto LearningModelBinding que puede crear en función de una sesión.
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.
Constructores
LearningModelBinding(LearningModelSession) |
Crea una clase LearningModelBinding a partir de la clase LearningModelSession especificada. |
Propiedades
Size |
Obtiene el número de elementos del mapa. |
Métodos
Bind(String, Object) |
Enlace un valor a la característica con nombre. |
Bind(String, Object, IPropertySet) |
Enlace un valor a la característica con nombre mediante propiedades para controlar el enlace. |
Clear() |
Quite todos los enlaces. |
First() |
Devuelve un iterador que se inicializa el primer elemento en la vista de mapa. |
HasKey(String) |
Determina si la vista de mapa contiene la clave especificada. |
Lookup(String) |
Devuelve el elemento en la clave especificada de la vista de mapa. |
Split(IMapView<String,Object>, IMapView<String,Object>) |
Divide la vista de mapa en dos vistas. |