Hi!
First of all, I’ll start by saying that I finally found a hashtag for Windows Machine Learning posts: [#WinML]. A small summary of WindowsML (actually from the part that interests me)
The WinML API allows us (Windows 10 developers) to use Machine Learning trained models and make inferences with them on a wide variety of hardware (CPU, GPU, VPU). An ML programmer may choose a Framework, such as CNTK, Caffe2 or Tensorflow, and with it he could build and train a ML model.
That model would then be converted to the Open Neural Network Exchange (ONNX) a format co-developed between Microsoft, Facebook and Amazon. As of this moment, a Windows 10 application can use this ML model internally as part of the App.
This in itself is great, however, there is a new layer more specifically created for games: DirectML. DirectML is built on top of pf Direct3D and represents a special layer for Gaming scenarios that provides Hardware Acceleration GPU for WindowsML operations.
In the references I left the article where all the technical details of DirectML are covered.
Another interesting point of the news is the announcement of support for Unity ML-Agents. Native WindowsML / DirectML integration will be available for Windows 10 games created with Unity 3D.
Personally, I did not know the Unity Machine Learning Agents. After reading a bit about them, it is clear to me that in the near future, the games and Apps created with Unity3D will be completely different from what we know today.
Bonus
It’s time to start connecting dots and entering the area of speculation. A while ago it became public that the new version of Hololens will have a new chip specifically dedicated to operations of [Deep Neural Networks] (see references). From a generic point of view, Hololens is just another type of Windows 10 device.
If we assume that Hololens V2 uses a version of Windows 10 that supports out of the box the capabilities of Windows ML, we already have a Mixed Reality Headset with impressive capabilities where Apps can use ML natively (the chip is already there!).
From the point of view of a C # developer, this is great!
Happy Coding!
Greetings @ Burlington
El Bruno
References
- El Bruno, Hello World en ML o como crear una UWP App que utilice un modelo ONNX local
- El Bruno, Using ONNX models embedded in UWP Apps in Windows 10
- El Bruno, #AI – Open Neural Network Exchange, Facebook and Microsoft help us to change between different AI Frameworks
- El Bruno, Some news on Hololens V2, HPU V2 and how Microsoft choose the hardware path, build their own Chips