ML.NET is an open-source and cross-platform machine learning framework (Windows, Linux, macOS) for .NET developers. Using ML.NET, developers can leverage their existing tools and skillsets to develop and infuse custom AI into their applications by creating custom machine learning models for common scenarios like Sentiment Analysis, Recommendation, Image Classification and more!.
Today we’re announcing the ML.NET 1.0 RC (Release Candidate) (version 1.0.0-preview
) which is the last preview release before releasing the final ML.NET 1.0 RTM in 2019 Q2 calendar year.
Soon we will be ending the first main milestone of a great journey in the open that started on May 2018 when releasing ML.NET 0.1 as open source. Since then we’ve been releasing monthly, 12 preview releases so far, as shown in the roadmap below:
In this release (ML.NET 1.0 RC) we have initially concluded our main API changes. For the next sprint we are focusing on improving documentation and samples and addressing major critical issues if needed.
The goal is to avoid any new breaking changes moving forward.
Updates in ML.NET 1.0 RC timeframe
Segregation of stable vs. preview version of ML.NET packages: Heading ML.NET 1.0, most of the functionality in ML.NET (around 95%) is going to be released as stable (version 1.0).
You can review the reference list of the ‘stable’ packages and classes here.
However, there are a few feature-areas which still won’t be in RTM state when releasing ML.NET 1.0. Those features still kept as preview are being categorized as preview packages with the version
0.12.0-preview
.
The main packages that will continue in preview state after ML.NET 1.0 is released are the following (
0.12 version packages
):
- TensorFlow components
- Onnx components
- TimeSeries components
- Recommendadtions components
You can review the full reference list of “after 1.0” preview packages and classes (0.12.0-preview) here.
IDataView moved to Microsoft.ML namespace : One change in this release is that we have moved IDataView back into Microsoft.ML namespace based on feedback that we received.
TensorFlow-support fixes: TensorFlow is an open source machine learning framework used for deep learning scenarios (such as computer vision and natural language processing). ML.NET has support for using TensorFlow models, but in ML.NET version 0.11 there were a few issues that have been fixed for the 1.0 RC release.
You can review an example of ML.NET code running a TensorFlow model here.
Release Notes for ML.NET 1.0 RC: You can check out additional release notes for 1.0 RC here.
Breaking changes in ML.NET 1.0 Release Candidate
For your convenience, if you are moving your code from ML.NET v0.11 to v0.12, you can check out the breaking changes list that impacted our samples.
Planning to go to production?
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 to:
- Get help implementing ML.NET successfully in your application.
- Provide feedback about ML.NET.
- Demo your app and potentially have it featured on the ML.NET homepage, .NET Blog, or other Microsoft channel.
Fill out this form and leave your contact information at the end if you’d like someone from the ML.NET team to contact you.
Get ready for ML.NET 1.0 before it releases!
As mentioned, ML.NET 1.0 is almost here! You can get ready before it releases by researching the following resources:
Get started with ML.NET here.
Next, going further explore some other resources:
- Tutorials and resources at the Microsoft Docs ML.NET Guide
- Sample apps using ML.NET at the machinelearning-samples GitHub repo
- Important ML.NET concepts for understanding the new API are introduced here
- “How to” guides that show how to use these APIs for a variety of scenarios can be found here
We will appreciate your feedback by filing issues with any suggestions or enhancements in the ML.NET GitHub repo to help us shape ML.NET and make .NET a great platform of choice for Machine Learning.
Thanks and happy coding with ML.NET!
The ML.NET Team.
This blog was authored by Cesar de la Torre plus additional contributions of the ML.NET team
Cesar De la Torre
Principal Program Manager, .NET