Comments (3)
Is saving the only action that dvclive wants to do with ML models?
As of today, yes. But maybe @dberenbaum can give additional insights from https://www.notion.so/iterative/Lightweight-Experiments-cec7b7c6e3d2451490491d22dfb4e63f . We are moving towards taking care of saving the model in all ML Framework integrations. Currently we are using the "native" ML Framework mechanism for saving the model (i.e. keras.model.save
).
It's definitely worth discussing this in more details. I'm not sure how to integrate this with dvclive properly and what parts do we need to implement twice in both libs.
For me, it feels like DVCLive
main value is to reduce the amount of changes users need to benefit from DVC
features, without having to care about the specifics.
It seems like a good direction to discuss if a similar sinergy with MLEM
could exist; use DVCLive
to make MLEM
features more easily accesible from a DVC
pipeline.
The way I currently see it is that we could add mlem.save
calls as part of each DVCLive
integration. I'm not sure if the fact that DVCLive would know the ML Framework beforehand could be used to make assumptions on this mlem.save
calls.
As a side note, although it might be too early to discuss, it seems that the work being done in iterative/dvc#6332 could be another potential place for synergy between DVC checkpoints
and mlem.publish
(although I don't know if MLEM
considers an intermetiade checkpoint a model or it's more focused on the "post train" model).
from mlem.
Hi, @daavoo! Thanks for submitting this. Sorry for the long delay, wasn't subscribed to repo issues.
FIrst of all, feel free to tag me and @mike0sv on any question regarding MLEM, right now we are the two working on it.
Regarding the question itself: indeed, one of fundamental functions of MLEM is to save models, whether locally or via committing them to the remote repo (check "Save model" header here https://www.notion.so/iterative/Creating-Model-Registry-1b4383745de349a48bd2c08fffcfda63#9b3137ec520f4902a646635b01795a4d).
Right now MLEM has a powerful mechanism to identify what model is supplied to mlem.save(model, path)
to save it appropriately (e.g., is it sklearn model, lightgbm, torch, or something else).
Is saving the only action that dvclive wants to do with ML models?
It's definitely worth discussing this in more details. I'm not sure how to integrate this with dvclive properly and what parts do we need to implement twice in both libs.
from mlem.
I'm not sure if the fact that DVCLive would know the ML Framework beforehand could be used to make assumptions on this mlem.save calls.
In general, there should be no need to know ML Framework beforehand because MLEM finds it out under the hood inspecting the obj
you pass to mlem.save(obj, path)
.
Also, we've been busy with finishing prototype and product design tasks for MLEM, so this was on hold for us for some time. We can get back to this in the second half of September, when the model saving functionality in MLEM will be ready for the first closed release. Or if you feel that we need to start discussing this earlier for some reason, please let me know.
from mlem.
Related Issues (20)
- flyctl deployment failure: org slug must be specified when not running interactively HOT 5
- `link` won't accept --rev flag / unexpected 404 HOT 5
- Expose custom information in FastAPI's `interface.json` HOT 1
- Expose GTO's model version in FastAPI's `interface.json` HOT 2
- Requirements aren't found when using `FunctionTransformer` HOT 1
- Confusing error in `deploy run flyio` when app exists HOT 2
- Bug: Validation error when loading linked model
- Pin flyctl version to <0.1.0 in MLEM
- Bug: image_name is missing from command arguments
- Use `classify-imports` instead of `isort` for import classification HOT 1
- Bug: Mlem couldn’t fetch your accounts information HOT 2
- Get started feedback
- How to use callbacks HOT 1
- fast.ai support HOT 2
- Fixing version collection HOT 2
- No clear way to overwrite requirements inferred by MLEM
- Uploading docker image is suboptimal
- Inferencing types at saving is not feasible sometimes
- Right way to add authentification middleware
- NameError: name 'UUID' is not defined HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mlem.