-
Notifications
You must be signed in to change notification settings - Fork 253
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
SUBMARINE-1023. Submarine SDK sqlalchemy store (model registry) #752
Conversation
submarine-sdk/pysubmarine/submarine/store/model_registry/sqlalchemy_store.py
Outdated
Show resolved
Hide resolved
submarine-sdk/pysubmarine/submarine/store/model_registry/sqlalchemy_store.py
Outdated
Show resolved
Hide resolved
submarine-sdk/pysubmarine/tests/store/model_registry/test_sqlalchemy_store.py
Outdated
Show resolved
Hide resolved
6b0814f
to
bc7b489
Compare
pass | ||
|
||
@abstractmethod | ||
def create_registered_model( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need to put these functions here? https://github.com/apache/submarine/blob/master/submarine-sdk/pysubmarine/submarine/store/abstract_store.py
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
model registry including registered_model
, registered_model_tag
, model_version
, model_version_tag
four tables.
tracking including param
, metric
, experiment
three tables.
In my opinion, it is more clear to put these functions in different directories. In this PR, I only worked on the model registry directory maybe I should also refactor the tracking directory and implement the experiment
table.
# single object | ||
session.add(objs) | ||
|
||
def create_registered_model( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
experiment_id: str, | ||
dataset: str = None, | ||
description: str = None, | ||
tags: List[str] = None, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's different between the tags in model version
and registered model
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
registered model tag
focuses on what is the goal of this model or the category of this model. model version tag
focuses on what this model perform or feature of this model. I think it is a little confused in these two parts. Hopefully, this explanation can help.
64b5ca0
to
ff285be
Compare
raise SubmarineException("Registered model name cannot be empty.") | ||
|
||
|
||
def validate_model_version(model_version: int) -> None: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
model_version forget to change to model metadata
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this function name is fine.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok
submarine-sdk/pysubmarine/tests/entities/model_registry/test_model_version.py
Show resolved
Hide resolved
5923b82
to
b73ec95
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
4be9b67
to
7723788
Compare
@pingsutw @jeff-901 I am so sorry for changing the table name in the database again. I think the previous names are the best. I will explain it as follow:
Summary:
|
What is this PR for?
What type of PR is it?
[Feature]
Todos
What is the Jira issue?
https://issues.apache.org/jira/browse/SUBMARINE-1023
How should this be tested?
All of the tests are provided in
submarine-sdk/pysubmarine/tests/store/model_registry/test_sqlalchemy_store.py
Screenshots (if appropriate)
Questions: