dotnet / machinelearning

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

Model generated by Object Detection does not work with Windows.AI.MachineLearning libraries #5402

Closed arafattehsin closed 4 years ago

arafattehsin commented 4 years ago

Hi Team! Is this ML.NET's issue or WinML team's problem? Happy to close it here and open it there if it's the case.

System information

Issue

Source code / logs

Here's the issue I get; I have tried using last 3 builds and it works well with other ONNX models.

image

antoniovs1029 commented 4 years ago

Hi, @arafattehsin . Can you please share the full stack trace and your model? Thanks

arafattehsin commented 4 years ago

Hi @antoniovs1029

Sure! This is what I have got.

image

Stack Trace:

at Windows.AI.MachineLearning.LearningModelSession..ctor(LearningModel model) at CodeProject01.ObjectDetection.<Init>d__8.MoveNext() in C:\Users\ArafatTehsin\source\repos\Custom Vision\Demos\CodeProject01\ObjectDetection.cs:line 90 at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter.GetResult() at CodeMashMarvelUwp01.MainPage.<InitModel>d__13.MoveNext() in C:\Users\ArafatTehsin\source\repos\CustomVision\Demos\CodeProject01\MainPage.xaml.cs:line 61

Model Dropbox Link

antoniovs1029 commented 4 years ago

Hi, @arafattehsin .

I don't think this is a problem on ML.NET, so as you pointed out, this might be a problem on WinML. So please, reach out to them and share with them the info you've shared here. So I'll close this issue.

By the way, I don't think your scenario is using ML.NET at all. I think that when you say "I tried to use the ONNX model created by ML.NET Object Detection (Azure ML)" you actually meant that "I tried to use the ONNX model created by ModelBuilder ...". Please note that ModelBuilder is a VisualStudio plug that is used to create machine learning models. ModelBuilder uses ML.NET behind the scenes for most scenarios and creates ML.NET models for those scenarios, but for the Object Detection scenario it actually uses Azure ML which in turns trains a pytorch model using PyTorch, which is then exported to Onnx. So In your scenario ML.NET is never involved.

For your case, I'd think the issue is on WinML (since the stack trace points to the Windows.AI.MachineLearning namespace), but if the problem was on ModelBuilder, then the correct place to post the issue would be ModelBuilder's repo: https://github.com/dotnet/machinelearning-modelbuilder/issues

Thanks, Antonio

arafattehsin commented 4 years ago

Cheers @antoniovs1029 - I will open up this issue with them.