-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
[ENH] Adding CNNRegressor and BaseDeepRegressor #2902
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
Conversation
About the tests that fail:
If the error is caused by the difference, I think we should introduce a threshold here. Since CNN / most neural have randomly initialised initial state, it is not uncommon to get different results (and in this case its a very minor difference). Just a note, there are 2 tests which are failing, and both of them are related to idempotent matrices. It feels odd that only those two cases are failing, but I do not understand why its just those two matrices. |
aa59470
to
fabfc6a
Compare
Something I found out about reproduciblity in keras.
I can test this out to see if it also works on windows 🤞🏽
So when we do implement the added functionality of GPU compute, the test is meant to fail. |
hi, sorry for the delay in looking at this. I have looked back at CNNClassifier, and basically I found the same. keras is non deterministic, and even if you could fix all seeds and reproduce results, fixing a global variable like numpy.random in one classifier seems like it may have nasty ramifications down the line. My decision was to just not do the correctness tests for CNNClassifier. Instead, I have run the whole lot on the UCR data and can show no significant difference to the published results with a fixed version of sktime. If we ever have a correctness problem, we can compare back to this. I can do the same for the Regressor, and the other deep learners. Note I also excluded these two test
I suggest you do the same for regressors |
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.
we might need to look for a tidier way of excluding classifiers/regressors, since when we port in more the config will start to bloat, but that is beyond the scope of this PR.
97cc27e
to
287ff13
Compare
@TonyBagnall My commit seems to fail the test for soft dependencies
I have added the required dependency in |
so just looking at CNNClassifier, which does run, the BaseDeepClassifier has these tags, |
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.
Looks ok, great!
One comment: if you wrote this alone, there is no need to credit @TonyBagnall or @james-large as authors, kindly remove that.
Done, @fkiraly |
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.
Looks good!
Reference Issues/PRs
See aso #2894.
What does this implement/fix? Explain your changes.
Implements
BaseDeepRegressor
, which is a base class for Deep-Learning based Regression models. Also implementsCNNRegressor
using the base class.Does your contribution introduce a new dependency? If yes, which one?
No.
What should a reviewer concentrate their feedback on?
I am a bit unsure about what all is required in BaseDeepRegressor. Once that is finalised, implementing CNNRegressor should be easy addition to it.
PR checklist
For all contributions