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

Support to log external artifacts [need feedback and review] #44

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

sergey-serebryakov
Copy link
Contributor

External artifacts are artifacts that are not managed by CMF, instead, by external tracking platforms such as MLflow or AIM. The commit adds the following method to the Cmf:

def log_reference(self, uri: str, event: str, custom_properties: t.Optional[t.Dict] = None) -> mlpb.Artifact:
    ...

where the key parameter is the uri that points to this external artifact. Examples of such URIs are:

mlflow:///runs/RUN_ID/mnist.npz
mlflow:///models/cdu01/production
aim://run/RUN_HASH

Several architectural decisions still need to be made. In particular, CMF already defines several and uses several types of artifacts, such as Dataset and Model. These external references currently have their own type Reference. On problem here is that these references can and will point to models and datasets. So, CMF may end up using several artifact types for the same entities. As an alternative implementation, existing implementations of the following methods (log_dataset and log_model) maybe updated to be able to log both internal and external artifacts, and method proposed in this commit (log_reference) could be renamed to something like log_artifact where users can log non-standard artifact types (which ism probably, not a very good idea).

External artifacts are artifacts that are not managed by CMF, instead, by external tracking platforms such as MLflow or AIM. The commit adds the following method to the `Cmf`:

```python
def log_reference(self, uri: str, event: str, custom_properties: t.Optional[t.Dict] = None) -> mlpb.Artifact:
    ...
```

where the key parameter is the `uri` that points to this external artifact. Examples of such URIs are:
```
mlflow:///runs/RUN_ID/mnist.npz
mlflow:///models/cdu01/production
aim://run/RUN_HASH
```
@sergey-serebryakov sergey-serebryakov self-assigned this Dec 4, 2022
@sergey-serebryakov sergey-serebryakov added the enhancement New feature or request label Dec 4, 2022
@sergey-serebryakov sergey-serebryakov changed the title Adding support to log external artifacts [WIP - need feedback and review] Support to log external artifacts [WIP - need feedback and review] Dec 4, 2022
Resolving conflicts (cmflib/cmf.py).
@sergey-serebryakov sergey-serebryakov changed the title Support to log external artifacts [WIP - need feedback and review] Support to log external artifacts [need feedback and review] Jun 27, 2023
@sergey-serebryakov sergey-serebryakov marked this pull request as draft June 27, 2023 21:45
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

Successfully merging this pull request may close these issues.

1 participant