LearningModelSession.EvaluateAsync(LearningModelBinding, String) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
바인딩에 이미 바인딩된 기능 값을 사용하여 기계 학습 모델을 비동기적으로 평가 합니다.
public:
virtual IAsyncOperation<LearningModelEvaluationResult ^> ^ EvaluateAsync(LearningModelBinding ^ bindings, Platform::String ^ correlationId) = EvaluateAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<LearningModelEvaluationResult> EvaluateAsync(LearningModelBinding const& bindings, winrt::hstring const& correlationId);
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<LearningModelEvaluationResult> EvaluateAsync(LearningModelBinding bindings, string correlationId);
function evaluateAsync(bindings, correlationId)
Public Function EvaluateAsync (bindings As LearningModelBinding, correlationId As String) As IAsyncOperation(Of LearningModelEvaluationResult)
매개 변수
- bindings
- LearningModelBinding
명명된 입력 및 출력 기능에 바인딩된 값입니다.
- correlationId
-
String
Platform::String
winrt::hstring
출력 결과를 연결하기 위한 선택적 사용자 제공 문자열입니다.
반환
평가의 LearningModelEvaluationResult 입니다.
- 특성
예제
다음 예제에서는 모델에서 첫 번째 입력 및 출력 기능을 검색하고, 출력 프레임을 만들고, 입력 및 출력 기능을 바인딩하고, 모델을 평가합니다.
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;
LearningModelEvaluationResult _results;
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
_results = await _session.EvaluateAsync(_binding, "test");
}
catch (Exception ex)
{
StatusBlock.Text = $"error: {ex.Message}";
_model = null;
}
}
설명
Windows Server
Windows Server에서 이 API를 사용하려면 데스크톱 환경과 함께 Windows Server 2019를 사용해야 합니다.
스레드로부터의 안전성
이 API는 스레드로부터 안전합니다.