Skip to content
This repository has been archived by the owner on Nov 16, 2023. It is now read-only.

Special-cased support for ML.NET #303

Closed
abock opened this issue May 15, 2018 · 8 comments
Closed

Special-cased support for ML.NET #303

abock opened this issue May 15, 2018 · 8 comments
Assignees
Milestone

Comments

@abock
Copy link
Contributor

abock commented May 15, 2018

While we still need to figure out a better general solution for NuGet packages that depend on native libraries (since there is no standard/conventional way to know what to load, see #204), we should special-case ML.NET support just as we do for a number of other interesting NuGet packages that natively integrate with the target platform.

See dotnet/machinelearning#157 for more bug details. We should continue any discussion here.

We are gearing up for a minor bug fix release against the 1.4 series and a fix for ML.NET support should be trivial enough to include.

Thanks @cosmincatalin for filing the original issue.

@sandyarmstrong
Copy link
Member

One thing to note: ML.NET does not have support for 32-bit platforms, and our .NET Core agent is still 32-bit on Windows. I don't see that changing in 1.4.x.

So this special-cased support will only be for:

  • Console (.NET Framework) on 64-bit Windows
  • WPF on 64-bit Windows
  • Console (Mono) on Mac
  • .NET Core on Mac
  • Xamarin.Mac

@migueldeicaza
Copy link

Why can we not do .NET Core agent as 64 on Windows?

@sandyarmstrong
Copy link
Member

@migueldeicaza because we still support 32-bit Windows. Our client, console agent, and WPF agent are all AnyCPU. But there is no AnyCPU equivalent for .NET Core publishing.

In order to support 64-bit .NET Core on Windows, we would need to ship a second .NET Core agent app, which would add something like 50MB to the install footprint.

Long-term, we plan to make agent apps download on-demand, which would be the preferred way to fix this.

@abock
Copy link
Contributor Author

abock commented May 18, 2018

I think we're going to have to eat the size overhead again. I would much rather see ML.NET support on .NET Core 64 bit Windows.

@sandyarmstrong
Copy link
Member

@abock fine by me. Do you want it for 1.4.1?

@abock
Copy link
Contributor Author

abock commented May 18, 2018

Yes.

@migueldeicaza
Copy link

64-bit windows is on 93.68% of machines, so we are talking about only 7% of machines without it.

I would rather switch the .NET Core agent to 64, and for 32, point people to the desktop version.

@sandyarmstrong
Copy link
Member

What we ended up doing is adding a 64-bit .NET Core agent app on Windows, and the client picks the correct app depending on the OS.

32-bit Windows still won't be able to use ML.NET, but 64-bit Windows will, with .NET Core or .NET Framework (or the WPF agent app).

On Mac, ML.NET will only be usable on Mono for Workbooks 1.4.1. @bojanrajkovic started work on a way to support native libraries for .NET Core on Mac, but it won't make it for 1.4.1. .NET Core workbooks on Mac continue to have no native library support.

I'm closing this even though the fix is only merged in the 1.4 branch, and not in master.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants