-
Notifications
You must be signed in to change notification settings - Fork 30
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
finds the best run for a given experiment. #75
Conversation
/// <param name="experimentId"></param> | ||
/// <param name="metricName"></param> | ||
/// <returns></returns> | ||
IRun GetBestRun(Guid experimentId, string metricName); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't this be a part of IExperiment
?
It is not a lifecycle method.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@shanranm that's correct, another way is for it to live on the Experiment depending on if you prefer light entities or a more DTO style entity. I think in this case it belongs on the lifecycle context mostly because this will be a method one calls at the end of a training run to determine if this run is good enough to bother uploading an artifact/model. If it's not better than anything previously we may want to save storage space and skip the upload step. I recognize that it's a matter of taste though :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we are going with lighter entities then this looks good! 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great @AnoojNair, glad you get use of the underlying methods :)
Left a minor comment.
/// <param name="experimentId"></param> | ||
/// <param name="metricName"></param> | ||
/// <returns></returns> | ||
IRun GetBestRun(Guid experimentId, string metricName); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@shanranm that's correct, another way is for it to live on the Experiment depending on if you prefer light entities or a more DTO style entity. I think in this case it belongs on the lifecycle context mostly because this will be a method one calls at the end of a training run to determine if this run is good enough to bother uploading an artifact/model. If it's not better than anything previously we may want to save storage space and skip the upload step. I recognize that it's a matter of taste though :)
…sue-15-find-best-run
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 👍 Thanks for your contribution!
Resolves
Fixes #15
Description
Finds the best run for a experiment based on a metric like "Accuracy".
Thank you @aslotte @dcostea for adding those functions as they do all the heavy lifting. I created a new PR with a new branch in my fork so that the commit history is a bit more cleaner, had a few merge conflicts on the old branch. I hope that's ok. Not sure how to remove the #57
Also. I am unable to add dan to this PR. Alex can you please add dan too.