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

Which other data do you need in the plots? #18

Closed
stared opened this issue Jul 5, 2018 · 8 comments
Closed

Which other data do you need in the plots? #18

stared opened this issue Jul 5, 2018 · 8 comments
Labels
enhancement New feature or request question Further information is requested

Comments

@stared
Copy link
Owner

stared commented Jul 5, 2018

I am thinking what is the best amount of data displayed?
Maybe it is good to add other features - like the numerical value of current metrics, or maximal values.

Though, I don't want to make it too cluttered. So, I am interested in your feedback what is missing (or what you would consider more a distraction).

@stared stared added enhancement New feature or request question Further information is requested labels Jul 5, 2018
@minghao-wu
Copy link

Some of them might be beyond the scope of this package.

  1. add some light grid lines in the plot.
  2. allow us to add customized horizontal and vertical bars in the plot. It is very common for users to study if their model outperforms the baseline model and how fast their model converges.
  3. A countdown timer.
  4. live GPU utilization.
  5. maxima and minima

BTW, I attempted to plot the loss curve at batch-level granularity. I found it is easy to do so when training, but kinda difficult to do it in evaluation stage. Can you provide an example? I'm using PyTorch.

@stared
Copy link
Owner Author

stared commented Jul 5, 2018

add some light grid lines in the plot.

Use can set matplotlib style https://matplotlib.org/tutorials/introductory/customizing.html. For more/different styles, use https://seaborn.pydata.org/tutorial/aesthetics.html#seaborn-figure-styles.

allow us to add customized horizontal and vertical bars in the plot. It is very common for users to study if their model outperforms the baseline model and how fast their model converges.

Interesting idea. I will consider that.

A countdown timer.

Not sure. It only works if it knows the total number of batches/epochs.

live GPU utilization

You can add this data with in the update. Though, you would need to use some library getting this data (I am not sure how to do it).

maxima and minima

Was thinking about it.

BTW, I attempted to plot the loss curve at batch-level granularity.

I don't recommend that. Plot-drawing is a costly step, and this thing is likely to severely impact performance. For evaluation - I am not sure if you want that. These plots work well for the same x axis for both train and eval.

@stared stared changed the title Which other data do you need? Which other data do you need in the plots? Jul 5, 2018
@duhaime
Copy link

duhaime commented Oct 15, 2018

Hi @stared thanks for this great project!

One nice feature would be if one could pass the PlotLossesKeras constructor a parameter skip that would skip the first n frames. If a cost function drops multiple orders of magnitude, even the log scaled y axis can make it harder to see the learning rate. Skipping the first n frames would allow one to get around this problem...

@stared
Copy link
Owner Author

stared commented Oct 16, 2018

@duhaime A good idea, struggled with the same thing myself.

My idea was to specify some "rescaling" options, e.g. ignoring the first n or taking the last n. If you want to implement that, I would be more than happy to accept a Pull Request.

@stared
Copy link
Owner Author

stared commented May 5, 2019

@duhaime Added skip_first option (e.g. plot_losses = PlotLossesCallback(skip_first=2)) with 6c88783. Should work with versions 0.4.0+.

@dchen327
Copy link

dchen327 commented Jul 3, 2020

@duhaime Added skip_first option (e.g. plot_losses = PlotLossesCallback(skip_first=2)) with 6c88783. Should work with versions 0.4.0+.

When I try using skip_first, I get __init__() got an unexpected keyword argument 'skip_first'. I've tried all of these:

from livelossplot import PlotLossesKerasTF
from livelossplot.inputs.tf_keras import PlotLossesCallback
from livelossplot import PlotLosses

However, initializing gives the error above.

@Naich
Copy link

Naich commented Dec 23, 2020

The skip_first feature seemed removed after 0.5 release.

@dchen327
Copy link

The skip_first feature seemed removed after 0.5 release.

Is there a new feature added that does the same thing?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request question Further information is requested
Projects
None yet
Development

No branches or pull requests

5 participants