-
Notifications
You must be signed in to change notification settings - Fork 1.2k
dvc: deprecate persistent outputs #2340
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
Comments
@guysmoilov guys did end up using these outputs? |
Yes: https://dagshub.com/Guy/fairseq/src/dvc/dvc-example/train.dvc I don't see any other sane way to allow for checkpoints and resuming training. |
@guysmoilov , what about not tracking the checkpoints with Still I'm not sure if it's a hack or something that we should put more attention and attach it to an specific use case with proper documentation. |
@MrOutis It's a very common pattern in deep learning.
Hyperparameter optimization algorithms such as Hyperband even formalize and automate this process.
And sometimes you'll do fancier things, like only keep the latest 5 checkpoints, or keep the best 3 checkpoints at any given time, so you can later average out their weights or turn them into an ensemble. Obviously, you need something like DVC to be able to resume from checkpoints, switch contexts to a different configuration, and to keep track of the runs. Hope this explains things better. |
@guysmoilov , thanks a lot for your comments! Frist time hearing about early-stopping, and didn't know that you can train a model that was already trained (it makes a lot of sense, tho)! I'll close this issue, then :) @shcheklein, what do you think about adding this info to the docs? |
@MrOutis So, I'm still hesitant on merging the docs for this. I totally understand the problem, but I'm not sure adding a flag and saving outputs this way is the right way of solving it. We need to brainstorm a little bit and it can be part of a broader discussion around experiments management in general. |
I don't see a clear benefit on having them, this concern was already expressed here #1884 (comment) and here #1214 (comment) .
Supporting them is not a hassle, but also we can go with the argument that "less code is better code", and if it doesn't offer a clear benefit, it is making the interface more complex.
Current types of outputs:
The text was updated successfully, but these errors were encountered: