Context and background for ‘Image Classification’, ‘training vs. scoring’ and ML.NET
Image Classification, Object Detection and Text Analysis are probably the most common tasks in Deep Learning which is a subset of Machine Learning.
However, for this blog post I am only focusing on Image Classification/Recognition and the multiple approaches you can take with ML.NET in order to train a Deep Learning model for image Classification/Recognition.
With ML.NET and related NuGet packages for TensorFlow you can currently do the following:
Run/score a pre-trained TensorFlow model: In ML.NET you can load a frozen TensorFlow model .pb file (also called “frozen graph def” which is essentially a serialized graph_def protocol buffer written to disk) and make predictions with it from C# for scenarios like image classification,
Today, coinciding with //BUILD 2019/ conference, we’re thrilled by launching ML.NET 1.0 release!
You can read the official ML.NET 1.0 release announcement Blog Post here and get started at the ML.NET site here.
In this blog post I’m providing quite a few additional technical details along with my personal vision that you might find interesting,
UPDATE on May 13th 2019: The recommended way to deploy/run an ML.NET model into ASP.NET Core web apps or WebAPI services is by using the ‘Microsoft.Extensions.ML’ Integration package. Read about it in this tutorial:
– Deploy an ML.NET model in an ASP.NET Core Web API
The tutorial above uses optimized code based on an .NET Core Integration Package comparable to integration packages targeting Entity Framework,