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

Use a function of iterations (e.g. epochs) as the time scale for scalars and plots #1271

Open
gabmis opened this issue May 21, 2024 · 2 comments

Comments

@gabmis
Copy link

gabmis commented May 21, 2024

First off, thanks for this great tool!!

Proposal Summary

Be it the x-axis or the time index of plots, I would love to use derivatives of the iteration count, e.g. epoch count.

Motivation

Say I have experiments where ROC curves are logged every epoch but epoch length may vary in number of iterations.
In that case I can't put my epoch ROCs on the same plot in a comparison view between those two experiments (with varying number of iterations per epoch). Making the time axis customizable would solve that! The same applies for scalars if you want to compare scalars at equal number of samples seen (i.e per epoch) then you want to plot with x-axis = epoch count and not iterations. That would be very useful!
I'm expecting this might be several features on your side but the logic is the same and sounds very appealing to me :)

@ainoam
Copy link
Collaborator

ainoam commented May 23, 2024

@gabmis Makes perfect sense.
Do note, however, that ClearML has no way of knowing in advance what granularity a metric/plot is planned to be reported at, so the way to go would be to still have the user report their metric/plot using the iteration variable (perhaps it should have been called index...) same as today, and also specify the intended x-axis (be it epoch or other) so that it would then be able to sync in comparison.

WDYT?

@gabmis
Copy link
Author

gabmis commented May 27, 2024

@ainoam Thank you for your answer!

You're right, the user can choose to log with epochs instead of number of iterations. Yet, both are useful!
What i then suggest is to allow user to swap the x-axis (change variables, if you will) using another reported quantity with the same x-axis.
In my case I would have two scalars:
loss against number of iterations
epoch agains number of iterations
and after swapping i would get
loss against epoch
Note that, the change of variable is valid if and only if the two plots have the same x-axis to begin with.

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