5 ms·
ML.NET is a machine learning framework which is aimed at providing the E2E workflow for infusing ML into .NET apps across pre-processing, feature engineering, m
by ankitasthana 8y ago
ML.NET is a machine learning framework which is aimed at providing the E2E workflow for infusing ML into .NET apps across pre-processing, feature engineering, modeling, evaluation, and model consumption.
The base framework comes with a variety of transforms, trainers, utility apis for loading varies forms of data (e.g. csv's, tsv's) to build custom machine learning models trained with your own data.
Using the API you can build a variety of models for scenarios like Sentiment analysis (classification), forecasting, recommendation and also leverage pre-built Tensorflow models for scenarios like image classification.
The samples repo provided shows you a variety of scenarios with ML.NET.
https://github.com/dotnet/machinelearning-samples https://github.com/dotnet/machinelearning-samples
@zamalek, would love to learn how we can improve the API to make this stand out :).
- zamalek 8y ago"Framework" (contained in the original title of this post) implies that you can "build your own thing" with the library. CNTK and Tensorflow are frameworks. ML.NET only has what's in the box, it's turn-key. You guys have an explicit ResNet18 assembly, as one example. While this is incredibly useful, it is not appropriate to call such a library a framework. A possible improvement would be: ML.NET is a machine learning API which is aimed at providing turn-key models for infusing ML... If you wanted it to classify as a framework, you'd have to provide something like Tensorflow does: a way to develop new and novel models. That's just my opinion, but a few people seem to agree.
- nickspag 8y agoYou can absolutely train your own models. Your comment is patently false and a fraction of the time it took to write it should have been spent reading that API you have so inaptly described. I encourage you to delete it.
- zamalek 8y agoYou can use it to train the models that they have built. You can't make new models. I've done quite a bit of research into ML.NET because the nomenclature lead me to believe that it can fill the role of Tensorflow.
- sitharus 8y agoHaving used this framework you absolutely use it to train and create novel classification models. I used it to train financial transaction classification models, it works quite well.
- jf- 8y agoCan you confirm whether or not you can train tensorflow with this? Your example on github has a pre-trained model. Easy integration of pre-trained models is great, but it should state up-front whether you can use it to build and train one.
- clauren 8y agoYou can train classic machine learning models like classification and regression as well as decision trees and more, or you can use pre-trained deep neural networks (Tensorflow, ONNX)
- jf- 8y agoI'm guessing you're from microsoft. The message that you seem to be getting here is that when people first see ML.NET they think Tensorflow, including being able to train it. They take a look around your examples looking for training examples and don't find them, and are then annoyed that this was not stated up front. It does not lower the value of ML.NET to clearly state that it does not allow building and training tensorflow models, it actually prevents annoyance at having to dig around and figure it out from lack of examples. It should be stated in the readme.md before the installation section. I'll add that there is very little point in coming onto HN and looking for the community's feedback if you're going to ignore it.
- deleted 8y ago[deleted]
- clauren 8y agoThat's fair and it's a good idea. I'll make sure we update the docs to be more clear. Ml.net does enable retraining TF models too so will make sure we publish examples too
- jf- 8y agoGood to hear! Other than that I'm enthusiastic about the development of ML.NET, I'll definitely be getting a lot of value out of it moving forward.
- eldavido 8y agoMicrosoft alumnus here...it's so obvious you work there. "End-to-end", "workflow", "across X, Y, Z, A", "scenarios". I'd just started to forget that language, but there it is. (The "local dialect" at Microsoft strikes again)
- openIce 8y agoI really wish you would have an implementation of DbScan as well.