Page 49 - Revista_60.pub
P. 49
C#
WINDOWS ML (ML.NET C#)
decoder.GetSoftwareBitmapAsync(); O exemplo usado neste artigo está disponível no site
softwareBitmap = SoftwareBitmap. da MS de forma mais aprofundada. Recomendamos aos
Convert(softwareBitmap, BitmapPixelFormat.Bgra8, nossos leitores que percam alguns minutos e explorem toda
BitmapAlphaMode.Premultiplied); a documentação disponível, de forma a consolidarem este
}
tema que ainda vai, certamente, dar muito que falar!
// mostra a imagem
SoftwareBitmapSource imageSource = new
SoftwareBitmapSource();
await imageSource.SetBitmapAsync
(softwareBitmap); O DirectML, dispo-
UIPreviewImage.Source = imageSource;
// Encapsula a imagem num VideoFrame para nibiliza a utilização da
ser unido (bound) e avaliado
VideoFrame inputImage = VideoFrame. aceleração por hardwa-
CreateWithSoftwareBitmap(softwareBitmap);
await EvaluateVideoFrameAsync(inputImage); re dos GPU’s para soft-
}
catch (Exception ex)
{ ware que utilize Win-
StatusBlock.Text = $"error: {ex.Message}";
ButtonRun.IsEnabled = true;
} dowsML. Esta API, foi
}
construída segundo os
Chegados à última parte do exemplo, e apenas para
reforçar o que foi referido no início do artigo, nesta aplicação mesmos princípios do
pode ser encontrado um método simples que permite verificar
que tipo de dispositivo irá ser usado para a tarefa de Machine DirectX, já amplamente
Learning.
conhecido e utilizado
LearningModelDeviceKind GetDeviceKind()
{
switch (Combo_DeviceKind.SelectedIndex) desde o seu lançamen-
{
case 0:
return LearningModelDeviceKind.Default; to em 1995.
case 1:
return LearningModelDeviceKind.Cpu;
case 2:
return LearningModelDeviceKind.DirectX;
case 3:
return LearningModelDeviceKind. Webgrafia
DirectXHighPerformance;
case 4: https://github.com/Microsoft/Windows-Machine-Learning
return LearningModelDeviceKind.
DirectXMinPower; https://docs.microsoft.com/en-us/windows/ai/
} https://docs.microsoft.com/en-us/windows/ai/release-notes
return LearningModelDeviceKind.Default;
}
https://docs.microsoft.com/en-us/windows/ai/get-onnx-model
https://docs.microsoft.com/en-us/windows/ai/performance-
4. Executar em qualquer dispositivo do Windows
memory
Feito isto compilamos e podemos executar o código em https://www.microsoft.com/en-us/cognitive-toolkit/
qualquer dispositivo que corra aplicações Universal Windows
Platform. https://onnx.ai/
AUTOR
Escrito por Rita Peres
Natural de Castelo Branco, licenciou-se em Engenharia Informática pela Universidade da Beira Interior.
Membro do P@P desde Janeiro de 2010. Embaixadora das Geek Girls Portugal – Núcleo de Lisboa.
49