Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Command-line tool to script ML.NET training and inference #108

Closed
glebuk opened this issue May 10, 2018 · 2 comments · Fixed by #248
Closed

Command-line tool to script ML.NET training and inference #108

glebuk opened this issue May 10, 2018 · 2 comments · Fixed by #248
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@glebuk
Copy link
Contributor

glebuk commented May 10, 2018

Why Command Line?

While C# is a great language to build services and apps, it is not a scripting language. As a result, it is difficult sometimes to quickly experiment, play and test different ML approaches.
In many situations, it is highly useful to script, parametrize and automate ML program execution. This also might help end users operationalize model creation, maintenance, and deployment.

What should it do?

We need a command line tool that runs with ML.NET libraries and exposes a command line interface to the framework. Such an EXE would:

  • Run training, inference, and evaluation against data files
  • Show list of available components and their arguments
  • Allow ability to run specific scripts files to run specific pipelines that can be used in benchmarking
  • Inspect models and binary data sources
  • Import and export models from ONNX
  • Autogenerate CS inference classes from trained models
  • Sweep hyper parameters
  • Moreover, we can define an interface for all of the actions so that it would be extended with developers to create additional commands

What do you think?

@glebuk glebuk added the enhancement New feature or request label May 10, 2018
@voltcode
Copy link

Whatever the API surface of the tool is going to be, it would be beneficial if it could be consumed in other scripts and tools with a more convenient interface than std out and in piping. I'm thinking about potential powershell and c# script Integrations.

It all can be done under separate issues, much later, however it's good to think about it whendesigning the architecture for this functionality implementation.

@dotChris90
Copy link

dotChris90 commented May 12, 2018

Sorry for asking. What about PowerShell + ML.NET? Its as u said. C# is great for apps server etc. But I feel Powershell is better for quick interaktive stuff and automation. I used Accord.NET with powershell and it felt great. I think powershell with ML.NET would be great too. So instead of CLI tool we could think about "how could combine Powershell and ML.NET" in a good way. or is a CLI better for the Linux Shell users.

@codemzs codemzs self-assigned this May 29, 2018
@codemzs codemzs added this to the 0518 milestone May 29, 2018
@shauheen shauheen modified the milestones: 0518, 0618 May 29, 2018
@ghost ghost locked as resolved and limited conversation to collaborators Mar 31, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
5 participants