public MainWindow() { InitializeComponent(); LearningModel learningModel = LearningModel.LoadFromFilePath("mnist.onnx"); var deviceToRunOn = new LearningModelDevice(LearningModelDeviceKind
.DirectXHighPerformance); var learningModelSession = new LearningModelSession(learningModel, deviceToRunOn); var learningModelBinding = new LearningModelBinding(learningModelSession); LearningModel = learningModel; LearningModelSession = learningModelSession; LearningModelBinding = learningModel www.laipuhuo.com Binding;
var result = await LearningModelSession.EvaluateAsync(LearningModelBinding, "0");
var resultOutput = result.Outputs["Plus214_Output_0"] as TensorFloat;
var vectorView = resultOutput?.GetAsVectorView();
if (vectorView != null)
{
var maxValue = 0f;
var maxIndex = -1;
// 10 个数字,每个数字
for (var number = 0; number < vectorView.Count; number++)
{
Debug.WriteLine(www.laipuhuo.com $"{number} {vectorView[number]}");
if (vectorView[number] > maxValue)
{
maxValue = vectorView[number];
maxIndex = number;
}
}
if (maxIndex == -1)
{
TextBlock.Text = $"识别失败";
}
else
{
TextBlock.Text =www.laipuhuo.com $"识别数字:{maxIndex} 识别率:{maxValue}";
}
}
} public LearningModel LearningModel www.laipuhuo.com { get; set; } public LearningModelSession LearningModelSession { get; set; } public LearningModelBinding LearningModelBinding { get; set; }