LearningModelBinding Classe
Définition
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.
Utilisé pour lier des valeurs à des fonctionnalités d’entrée et de sortie nommées.
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)
- Héritage
- Attributs
- Implémente
-
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>
Configuration requise pour Windows
Famille d’appareils |
Windows 10, version 1809 (introduit dans 10.0.17763.0)
|
API contract |
Windows.AI.MachineLearning.MachineLearningContract (introduit dans v1.0)
|
Exemples
L’exemple suivant récupère les premières fonctionnalités d’entrée et de sortie, crée une trame de sortie, lie les fonctionnalités d’entrée et de sortie, et évaulate.
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;
}
}
Remarques
Les modèles spécifient leurs fonctionnalités d’entrée et de sortie à l’aide de noms de chaîne uniques. Avant d’évaluer le modèle, vous pouvez lier vos entrées et sorties à la session à l’aide de ces noms. Pour ce faire, vous utilisez l’objet LearningModelBinding que vous pouvez créer en fonction d’une session.
Windows Server
Pour utiliser cette API sur Windows Server, vous devez utiliser Windows Server 2019 avec Expérience de bureau.
Sécurité des threads
Cette API est thread-safe.
Constructeurs
LearningModelBinding(LearningModelSession) |
Crée un LearningModelBinding à partir de la session LearningModelSession spécifiée. |
Propriétés
Size |
Obtient le nombre d’éléments dans la carte. |
Méthodes
Bind(String, Object) |
Lier une valeur à la fonctionnalité nommée. |
Bind(String, Object, IPropertySet) |
Liez une valeur à la fonctionnalité nommée à l’aide de propriétés pour contrôler la liaison. |
Clear() |
Supprimez toutes les liaisons. |
First() |
Retourne un itérateur qui est initialisé au premier élément de la vue cartographique. |
HasKey(String) |
Détermine si la vue cartographique contient la clé spécifiée. |
Lookup(String) |
Retourne l’élément à la clé spécifiée dans la vue cartographique. |
Split(IMapView<String,Object>, IMapView<String,Object>) |
Fractionne la vue de carte en deux vues. |