Machinelearning: How to debug ML.NET internals.

Created on 21 Feb 2019  路  1Comment  路  Source: dotnet/machinelearning

Hi,

this might be a more general question but I couldn't find anything in the developer-guide.

In the past months I've continously seen issues (or at least unintuitive exceptions thrown deep inside ML.NET) that I couldn't figure out.

Coming from a Java background we usually get the Java sources in our Jar and can just step into any code without any effort.
Though, I'm having a really tough time to debug any errors.

  1. How can I step into the ML.NET code? I'm using the myget daily builds.

Currently I'm seeing an IndexOutOfRangeException somewhere deep inside the KeyToVectorMappingTransformer.

  1. Are there plans to offer a synchronous version of Fit/Transform() that avoids the whole threading problems?

Any guidance on this would be greatly appreciated.

question

Most helpful comment

Excellent question, @rauhs !
As a matter of fact, it is quite easy to do so. All ML.NET NuGet packages have symbols published. Of course, the source code for it is available on this GitHub repo. Let's assume you use ML.NET via NuGet packages and are using Visual Studio 2017 15.9 or higher.

To step into ML.NET packages, you need to do the following

  1. Enable NuGet.Org symbol download
  2. Disable JustMyCode debugging (Visual Studio -> Options -> Debugging -> Just My Code [ ] (disable))
    Following those steps, I was able to step into ML.NET code in our samples project

>All comments

Excellent question, @rauhs !
As a matter of fact, it is quite easy to do so. All ML.NET NuGet packages have symbols published. Of course, the source code for it is available on this GitHub repo. Let's assume you use ML.NET via NuGet packages and are using Visual Studio 2017 15.9 or higher.

To step into ML.NET packages, you need to do the following

  1. Enable NuGet.Org symbol download
  2. Disable JustMyCode debugging (Visual Studio -> Options -> Debugging -> Just My Code [ ] (disable))
    Following those steps, I was able to step into ML.NET code in our samples project
Was this page helpful?
0 / 5 - 0 ratings

Related issues

daholste picture daholste  路  3Comments

bs6523 picture bs6523  路  4Comments

OneCyrus picture OneCyrus  路  4Comments

maxt3r picture maxt3r  路  3Comments

rogancarr picture rogancarr  路  3Comments