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

MLFlow Interoperability Layers for MLOps.NET #116

Open
1 of 3 tasks
lqdev opened this issue Jun 14, 2020 · 1 comment
Open
1 of 3 tasks

MLFlow Interoperability Layers for MLOps.NET #116

lqdev opened this issue Jun 14, 2020 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@lqdev
Copy link
Collaborator

lqdev commented Jun 14, 2020

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
MLFlow is one of, if not the most popular MLOps management system/platform. MLOps.NET was originally created to fill MLFLow lack of support for ML.NET models. MLFlow and its infrastructure have a lot to offer. To improve the extensibility and interoperability of MLOps.NET within the MLFlow ecosystem, build an interoperability layer that uses MLOps.NET as the backend for MLOps lifecycle.

Describe alternatives you've considered

N/A

Additional context
Add any other context or screenshots about the feature request here.

To-Do:

  • Research interfaces
  • Create spec
  • Build out POC
@lqdev lqdev added the enhancement New feature or request label Jun 14, 2020
@lqdev lqdev self-assigned this Jun 14, 2020
@lqdev
Copy link
Collaborator Author

lqdev commented Jul 2, 2020

Goal

Enable users to track ML experiments, runs, artifacts, and models using MLFlow.

Interfaces

Some ways to interact with MLFlow from .NET are:

  • REST API
  • CLI

REST API

REST API provides good support for the following:

  • Experiments
  • Runs
  • Metrics
  • Parameters
  • Register Models
  • Model Versions

Missing:

  • Artifacts

CLI

CLI provides good support for the following:

  • Experiments
  • Runs
  • Metrics
  • Parameters
  • Register Models
  • Model Versions
  • Artifacts

Implementation

REST API

Strengths

  • All interactions done via HTTP
  • No need to consider platform differences (MacOS, Windows, Linux)
  • Existing client (MLFlow.NET)
  • No need to parse / manipulate STDOUT. Responses are in JSON format.

Weaknesses

  • Can't log artifacts with REST API
  • MLFLow.NET needs to be extended to support model registration

CLI

Strengths

  • Supports all main functions for tracking and model registry.

Weaknesses

  • Need to parse STDOUT. Responses are in JSON format.
  • When running CLI commands from .NET code, you need to consider the user's platform.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant