-
Notifications
You must be signed in to change notification settings - Fork 2
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
Add automatic tracking of validation loss and an optional recommendation #64
Comments
Thanks for the great functionality in this package. Such a key distintion of MLJ to be this flexible for iterated models. |
Great to get this feedback, thanks.
I agree adding final
I actually don't find it that convenient to extract it from the log and there is an existing issue related to this.
Not quite true. What about the I do see how calling a purely reporting-type callback creates some cognitive dissonance, because it's not actually interfering with the iteration. However, some callbacks can be used to change the iteration materially, because it can mutate a model learning rate, for example. For my part, then , I'm not sure a breaking change is warranted here. |
Thank you for the comprehensive response. Highly valued. Yes, I agree it's not worth a breaking change and callbacks can interfere with training it was just a thought; users can anyway split them in their variables if they want. That said, I would be quite happy to see both training and validation losses being recorded in the log. It would make basic examples with iterated models look much more friendly. |
I can access
training_losses
fromreport(mach)
but I was surprised that there is novalidation_losses
(although these are certainly computed with a holdout or resampling strategy).I understand that I can use callbacks for this but it felt asymmetric (and less friendly) to only find
training_losses
but nonum_epochs_finished
(although it can be derived from the log anyway) orvalidation_losses
.As for the optional recommendation, currently the argument
controls
allows two types of functionality:I think it's more intuitive to have two separate arguments. Maybe
stop_conditions=[...]
for the former andcallbacks=[...]
for the latter.The text was updated successfully, but these errors were encountered: