Microsoft has done a lot to encourage use of machine learning models in Azure, but there’s scope for their use in many other parts of its ecosystem. One increasingly important use is on Windows PCs, bringing trained models onto your desktop or onto embedded devices.
With local machine learning support, there’s no need to worry about shipping data to cloud services, especially where bandwidth can be an issue. You also can protect data where privacy can be an issue, and where regulations control data transfers and storage. It’s a model that’s likely to be important in financial services or in health care, where strong government regulations around privacy have a significant impact with what data you can process and how you process it.
I took an initial look at Windows ML a few months ago, but it’s worth a deeper dive now the release nears of a new Windows 10 version that will bring the Windows ML APIs to your code. If you’re using a Windows Insider build, you can start using the new APIs with the current preview release of the Windows 10 SDK. It adds support for managing models and for working with machine learning data types, including tensors. While you won’t be able to ship code until the Windows 10 update itself is released, now is a good time to start exploring how to add machine learning support to your code.
Bring your own machine learning model to Windows 10
The heart of a Windows 10 machine learning application is a pretrained model. It doesn’t matter where you trained it, or how you trained it, as long as it’s been exported as an ONNX file. With ONNX, you can treat a model that’s come from Microsoft’s own Azure ML service in the same way as one that’s been trained on the Google-backed TensorFlow, or on any of a wide range of open source machine learning platforms. Using the Windows 10 SDK, you can hook the model into a PC camera, a microphone, or a stream of sensor values.