dotnet / machinelearning

ML.NET is an open source and cross-platform machine learning framework for .NET.
https://dot.net/ml
MIT License
9.04k stars 1.89k forks source link

Microsoft Doc need a main page on OnnxRuntime Csharp (API) #5618

Closed GeorgeS2019 closed 3 years ago

GeorgeS2019 commented 3 years ago

By putting this page as one main Microsoft Doc. we can speed up the feedback loop to drive ONNX for .NET developer

Currently, the only Microsoft Doc on ONNX is microsoft.ml.transforms.onnx

To drive more interest of Machine Learning using Microsoft technology, we must start with having a main Microsoft Doc on OnnxRuntime Csharp AI

michaelgsharp commented 3 years ago

@luisquintanilla who is the right person to reach out to for this? I am not sure who is involved in the docs for onnx runtime?

GeorgeS2019 commented 3 years ago

@michaelgsharp @luisquintanilla The Microsoft Doc on Onnx However, it seems that The Microsoft.AI.Doc has not been addressed for a while.

luisquintanilla commented 3 years ago

Hi @GeorgeS2019

This is a great suggestion! At the moment there are no plans that I'm aware of to create a single place in Microsoft Docs for ONNX Runtime.

Part of the reason why currently there is no single place for ONNX Runtime in Microsoft Docs is because the library is cross-cutting and each product / service adopts it in a way that makes sense for their user base. Therefore the docs more closely reflect the recommended usage pattern of those products / services rather than the underlying ONNX Runtime library. As you pointed out, within ML.NET for example, it's recommended you use the ONNXTransformer set of APIs that internally leverage the ONNX Runtime, but users of ML.NET aren't exposed to it (sample doc using ONNX & MLNET).

Not only is the library used in a variety of products / services, but it also supports multiple languages and while for .NET it makes sense to include it in the .NET API browser, it's important to ensure that there isn't a fragmented experience for both readers and authors (C# users use Microsoft Docs, everyone else uses GitHub or some other documentation platform).

In the meantime, since this is a docs related issue, I'm moving the discussion to dotnet/docs#22908 and adding it to our backlog.

michaelgsharp commented 3 years ago

Since @luisquintanilla has moved the issue, I will go ahead and close this one out.

GeorgeS2019 commented 3 years ago

@luisquintanilla @michaelgsharp As one of many curious minds evaluating the "completeness" of Microsoft machine learning approach, we like to know what has and what has not been attempted using the Microsoft machine learning technology.

I came across ML.NET use cases. I compare that with those categorized under ONNX.models

Since I am interested of ONNX models that have been exported from HuggingFace Transformer and use them in .NET, I need to evaluate how "complete" Microsoft machine learning approach to enable that porting to .NET.

It became immediately obvious that the category of use cases, I could be wrong, represents perhaps a subset of what are being categorized. at ONNX.models.

Since my aim is to use the attention-based machine learning in cross cutting machine leaning application, I am looking at the main sub-libraries of HuggingFace. It seems that perhaps the possible way to achieve that in .NET is through the OnnxRuntime c# API. First it is unclear if the relevant sub-libraries have been implemented in ML.NET.

It is hope that by FIRST, getting Microsoft Doc on OnnxRuntime c# API with extension on Onnx.Models discussion in .NET, that the .NET community could converge to address the missing parts needed for the attention-based machine learning.

Although there is provision of Microsoft talents in supporting attention-based use cases, there are mostly python and not .NET.

We hope this discussion will bring the need to support .NET attention-based use cases through perhaps the Microsoft Doc with well structured feedback support than that of Github issues.