We are excited to announce ML.NET 1.2 and updates to Model Builder and the CLI. ML.NET is an open-source and cross-platform machine learning framework for .NET developers. ML.NET also includes Model Builder (a simple UI tool for Visual Studio) and the ML.NET CLI (Command-line interface) to make it super easy to build custom Machine Learning (ML) models using Automated Machine Learning (AutoML).
Using ML.NET, developers can leverage their existing tools and skill-sets to develop and infuse custom ML into their applications by creating custom machine learning models for common scenarios like Sentiment Analysis, Price Prediction, Image Classification and more!
The following are some of the key highlights in this update:
ML.NET Updates
ML.NET 1.2 is a backwards compatible release with no breaking changes so please update to get the latest changes.
General availability of TimeSeries support for forecasting and anomaly detection
Developers can use the Microsoft.ML.TimeSeries package for many scenarios such as: detecting spikes and changes in product sales using an anomaly detection model or creating sales forecasts which could be affected by seasonality and other time related context.
Learn more through these samples.
General availability of ML.NET packages to use TensorFlow and ONNX models
ML.NET has been designed as an extensible platform so that you can consume other popular ML models such as TensorFlow and ONNX models and have access to even more machine learning and deep learning scenarios, like image classification, object detection, and more.
Learn more through these code samples for Microsoft.ML.OnnxTransformer and Microsoft.ML.TensorFlow and the end-to-end ML.NET computer vision sample apps:
Easily integrate ML.NET models in web or serverless apps with Microsoft.Extensions.ML integration package (preview)
This package makes it easier to integrate loading ML.NET model for scoring in ASP.NET apps, Azure Functions and web services. Specifically, the package allows a developer to use Microsoft.Extensions.ML for loading the ML.NET model using Dependency Injection, and optimizing the model’s execution and performance in multi-threaded environments such as ASP.NET Core apps. Learn more here.
MLNet CLI updated to 0.14 (preview)
You can use the ML.NET CLI to automatically generate an ML.NET model and underlying C# code. You can run the ML.NET CLI on any command-prompt (Windows, Mac, or Linux).
You simply need to provide your own dataset and select the machine learning task you want to implement (such as classification or regression), and the CLI uses the AutoML engine to create model generation and deployment source code, as well as the binary model.
The CLI is updated to 0.14 addressing customer feedback.
Learn more about the CLI here:
Model Builder updates
ML.NET Model Builder provides an easy to understand visual interface to build, train, and deploy custom machine learning models.
Expanding support to .txt files and more delimiters for values
Users can now use .txt files for training the model. In the initial previews, Model Builder supported only .csv and .tsv files. Values can be separated by the following delimiters: space, comma, tab and semicolon.
No limits on training data size!
Based on popular request, we have removed the 1GB limit on the training data size. Developers can now upload files of any size.
Smart defaults for training time for large datasets
The default training time is now set based on the size of your data. It was 10 seconds before. This will allow Model Builder to find at least 1 model within that time.
Learn more about how long you should train for?
Improve model consumption experience
Update to ML.NET 1.2
Model Builder uses the latest version of ML.NET and the generated code will reference 1.2. In the earlier previews It was using ML.NET 1.0.
Customer feedback addressed
There were many issues fixed in this release. Learn more in the release notes.
Need help to go to production – Fill out this form!
If you are using ML.NET in your app and looking to go into production, you can talk to an engineer on the ML.NET team.
Try ML.NET and Model Builder today!
- Refer to documentation for tutorials and more resources.
- Learn from samples apps for different scenarios using ML.NET.
Summary
We are excited to release these updates for you and we look forward to seeing what you will build with ML.NET. If you have any questions or feedback, you can ask them here for ML.NET and Model Builder.
Your friends @ML.NET
Are you planning to make ImagenetData compatible with in-memory?
What do you mean? Are you experiencing any issue with that scenario?
We support in-memory images in ML.NET since v1.0. You can see an example here:
https://github.com/dotnet/machinelearning-samples/tree/master/samples/csharp/end-to-end-apps/DeepLearning_ImageClassification_TensorFlow
Not sure if you mean anything else when talking about "compatible with in-memory"?
For further feedback on ML.NET you can also contact me directly at "cesardl at microsoft.com"
Thanks,
Nice to see time series getting in there, I hope to have an experiment with this soon. One thing that jumps out from the samples is that it's very verbose for doing simple things. For example, just creating an input set from some fixed numbers can surely make use of a simple number array rather than:```var data = new List<TimeSeriesData>() { new TimeSeriesData(0), ...
@Mark Adamson – Thanks Mark for the feedback, I just provided it to the team so we take it into account for upcoming versions. Please, while trying/experimenting with TIME SERIES, keep sending us feedback, probably better as ISSUES at the ML.NET repo (https://github.com/dotnet/machinelearning/issues) so we can track it down, ok? – Thanks a lot for your interest! 🙂