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

Add ability to upload artifacts to experiments via the UI #73

Open
bhood2 opened this issue Apr 30, 2024 · 4 comments
Open

Add ability to upload artifacts to experiments via the UI #73

bhood2 opened this issue Apr 30, 2024 · 4 comments

Comments

@bhood2
Copy link

bhood2 commented Apr 30, 2024

Currently, artifacts can only be uploaded by the SDK. It would be helpful for a user to be able to upload artifacts directly in the UI for the experiment they are modifying.

@ainoam
Copy link

ainoam commented Apr 30, 2024

Thanks for suggesting @bhood2!

Can you elaborate on the use case: Which artifacts are you modifying, and to what end? How does your code handle such changes?
Such a solution would ideally support different storage services (ClearML file server/AWS S3/GCS etc.) - How did you consider circumventing CORS restrictions in uploading files across domains?

@bhood2
Copy link
Author

bhood2 commented Apr 30, 2024

Our use case was to be able to add additional artifacts (think training models) to an existing experiment and store them in AWS S3 for future use. I'm not actually modifying the artifact, simply adding new ones to an experiment. The code takes the raw file and uploads it to S3 then updates the experiment in the DB with the new artifact information. The code could easily support additional storage services with minimal modifications.
For the CORS restrictions, S3 has editable CORS settings where I added our ClearML domain. However, this is bucket specific and I cannot upload to a bucket that doesn't recognize the ClearML domain.

@ainoam
Copy link

ainoam commented May 2, 2024

Thanks for the added insight @bhood2.
Wondering what's compelling you to explicitly add these models post training? (ClearML should be capturing all models trained...)
If these were not generated by that task, wouldn't an "import" capability in the model table be a better fit?

@bhood2
Copy link
Author

bhood2 commented May 2, 2024

Thank you for the reply @ainoam.
I have asked my coworkers to elaborate on the use cases where this feature is desirable and they have informed me that this feature is not for uploading the models, but for uploading supporting files for the models. For each model artifact, the user may want to have numerous supporting files. For example, a user has a model trained in an experiment and they want to add a model wrapper file such as a python file that wraps the model into another class supported by another experiment (training or deployment). Another example is with a model serving with the original clearml-serving stack, the user would use the CLI to upload the preprocess file for the model (similar to the wrapper, providing standard interfaces) and this feature is the only way to add this file as an artifact. One further example, in training if the user wants to change a complete training configuration (not a single value) with a YAML configuration file, the user can only make the change through the source code and then they have to track unnecessary configuration changes. This feature will allow the user the ability to do everything needed to an experiment within the UI.

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

No branches or pull requests

2 participants