-
Notifications
You must be signed in to change notification settings - Fork 32
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
dvclive.init
: Future of arguments
#128
Comments
pin @dberenbaum @pared ☝️
|
Well, we are at |
Hmm, yes, it seems like the considerations are similar to iterative/dvc#6182 and iterative/dvc#6332. Agree that it's probably better to have this specified by a dvc env var. Are these basically hooks for experiments/checkpoints? Maybe we need a more general mechanism here? 🤔
They do seem redundant, but how would I do the equivalent of |
If we define
|
IMHO keeping |
I think that if we would like to have |
Maybe combining Having If there is such scenario, would it make sense to "hide" the |
When one would like to start from a different step than the latest, but it's hard for me to imagine how such code would look like - because the model would also have to be brought back to X. |
Removing |
Discussion regarding
dvclive.init
and it's number of arguments have emerged across multiple issues (i.e. #69, #75, #121, #124), specially those regarding the addition of new features, so I opened this one to concentrate all discussions.From an user perspective I prefer having as many explicit arguments as needed, as long as they are useful and well documented, rather than "hiding" the arguments under
**kwargs**
or even aconfig
file. Maybe I'm biased because I feel that using APIs with too many arguments (~8+) is not a real problem if all of them are actually useful, the library uses things like proper naming and types and you are using a modern IDE.I would need to think about it and consider other perspectives to actually have a strong preference,.
Regardless of the options for extending arguments, I think it could be also worth to take a step back and consider the general interface to check if some of the arugments already existing could be removed/revisited in order to "make room" for new ones:
html
Given that this argument is only used when DVCLive is used alongside DVC. I think it could be removed from
dvclive.init
and just let it be configured byenv.DVCLIVE_HTML
.step
/resume
I'm not really sure what would be the indented use case for this argument outside it's interaction with
resume
. Unless I'm missing some other use case,resume
andstep
could be merged into a single argumentresume_from: Optional[int] = None
?summary
How much would this actually be used to disable the summary? Would someone complain if we remove the argument and just always create it?
If we come to the conclusion that users might not really want to have a summary, we could maybe rethink the
log
/next_step
interaction to allow them to skip the summary:If the user doesn't really want a summary, we could "ask" to always call
dvclive.log
with a explicitstep
, otherwise we assume that callingnext_step
(either explicitly or implicitly by callingdvclive.log
twice withoutstep
) means that the user wants a summary.I know all the above options would imply a significant "shakeup" to the existing API but I think that this kind of discussion has, in the end, the same goal to the one about how to extend the arguments.
The text was updated successfully, but these errors were encountered: