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
Visualizing Training Loss #21
Comments
I've managed to get a plot of Update: Here is the last saved output of the model that I was training while generating the above plot. |
Thanks for implementing this! Care to share the code? These plots look accurate. The The L1 loss, on the other hand, should go down over time, and it appears it slightly does in the plot you shared. In practice, |
No problem 👍. You can find my current implementation of this plot on the Thank you very much for the detailed description, it is a very helpful analogy! By the sounds of it it seems like perhaps the only interesting value to plot would be As of now, the plot display is updated as often as logging occurs (dependent on |
Thanks for sharing the branch! Feel free to make PR when you feel it is ready, but I agree low-impact is best.
If we had an error metric that exactly reflected what we care about (e.g., perceptual quality), then that would be wonderful. Instead of using a GAN we could directly optimize that metric (assuming it's differentiable). Unfortunately, we don't have such a metric in general. |
Interesting. Those curves look a bit strange but not entirely out of the ordinary. GAN training dynamics are definitely pretty weird. In my experience the training curves can take on quite a variety of shapes, depending on the dataset, hyperparameters, maybe even the random initialization. |
@phillipi Ok, I've created a pull request with my cleaned up plotting code integrated. I've exposed the plotting functionality via the I've re-read the paper and I believe things are starting to make a bit more sense to me 😺. I now understand why error between images (btw, is error equivalent to loss? Can the words be used interchangeably in the way they are talked about here, or no?) is subjective and hard to quantify. SSIM does seems like a fantastic approach and one that I would definitely like to implement and add to the plotter if I can carve out some time. In the paper it seems like different combinations of loss functions like L1, L1+cGAN, L1+GAN were each successful (or unsuccessful) in different ways and for different training sets/objectives. I also see env variables that are parsed in Finally, I'm having a bit of trouble understanding the role of |
@ppwwyyxx great, thanks for sharing! If you are comfortable with it, would you mind sharing info about what training set/hyperparameters you are training your model with so that I can try and reproduce your plots with my display plotter? Thanks! |
@brannondorsey I'm not using torch to train the model, and I'm using the same hyperparameters except for batchSize=4. |
|
@brannondorsey is it possible to save the loss plot somehow during training? |
Hi there,
Is any kind of real-time training plotting visualization in the works for
pix2pix
?I'm interested in visualizing
Err_G
,Err_D
, andErrL1
with the UI display while training withtrain.lua
. I've only poked around withlua
andtorch
with various machine learning projects and have yet to write much of either, although I'm happy to dig-in and try and figure something like this out if it seems like it would be rather trivial/helpful.My initial thought would be to use
display.plot(...)
to update the display on each training batch. Anybody more familiar with the code base have any ideas or examples they would like to share?P.S. Really rad paper + source code, super excited to have access to this research :) Thanks to all who are working on this!
The text was updated successfully, but these errors were encountered: