yu4u / noise2noise

An unofficial and partial Keras implementation of "Noise2Noise: Learning Image Restoration without Clean Data"
MIT License
1.08k stars 234 forks source link

Is validation loss reasonable? #31

Closed IsabellLehmann closed 5 years ago

IsabellLehmann commented 5 years ago

Hi, I am wondering if using the validation loss as a stop criterion is reasonable if we assume that we have only noisy training data? Or is it nit used? I just commented the line with the validation data and then I got the error message:

Traceback (most recent call last): File "train_speech.py", line 105, in main() File "train_speech.py", line 100, in main callbacks=callbacks) File "/net/home/Dokumente/PA/virtualenv/lib/python3.6/site-packages/keras/legacy/interfaces.py", line 91, in wrapper return func(*args, kwargs) File "/net/home/Dokumente/PA/virtualenv/lib/python3.6/site-packages/keras/engine/training.py", line 1418, in fit_generator initial_epoch=initial_epoch) File "/net/home/Dokumente/PA/virtualenv/lib/python3.6/site-packages/keras/engine/training_generator.py", line 251, in fit_generator callbacks.on_epoch_end(epoch, epoch_logs) File "/net/home/Dokumente/PA/virtualenv/lib/python3.6/site-packages/keras/callbacks.py", line 79, in on_epoch_end callback.on_epoch_end(epoch, logs) File "/net/home/Dokumente/PA/virtualenv/lib/python3.6/site-packages/keras/callbacks.py", line 429, in on_epoch_end filepath = self.filepath.format(epoch=epoch + 1, logs) KeyError: 'val_loss'

Do not wonder about the different file names, I rewrote it for speech but with validation data my code works.

yu4u commented 5 years ago

Hi, I am wondering if using the validation loss as a stop criterion is reasonable if we assume that we have only noisy training data?

You are right. If you have only noisy data, you cannot perform validation. You should modify these lines that use "val" information.

https://github.com/yu4u/noise2noise/blob/master/train.py#L95-L99

IsabellLehmann commented 5 years ago

I'm sorry, I forgot to close it!