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
Unify *PoolLayer interfaces, new default ignore_border=True #374
Conversation
Does the problem only occur if you use the non DNN MaxPool layers? So if I use a MaxPool2DDNNLayer I would get an error if dnn cannot be used? Couldn't we raise i warning if the maxpool layer fallback on CPU? It is pretty subtle but the performance hit you take seems to be very large? |
If you use a MaxPool2DDNNLayer, you won't be using it with The problem only occurs if you're using the ordinary MaxPool2DLayer, and the performance regression comes totally unexpected (and probably even unnoticed), just because of a setting that most users will not even have thought of looking up the documentation for.
We could raise a warning when combining I think we should use the fact that Lasagne hasn't been released yet and just change it, for the benefit of future users. It's sad we hadn't noticed this like half a year ago, but it's good we noticed before the release. |
Thanks for the clarification. I'm definitely in favor of changing the default to True. I think its not a problem chaning this if we mention the change in the release notes. |
Cool! Any other opinions? There's only a few hours left if we're releasing today!
We don't really have release notes we can mention this in, we only announce breaking changes on the mailing list. For future releases, we could highlight such things in the changelog, but we're going to avoid breaking changes after the release anyway. |
I also think it's worth changing the default pre-release, with an announcement. Releases are when users should expect changes in behavior, and this one is worth it. |
Agree, let's just change it. |
Unify *PoolLayer interfaces, new default ignore_border=True
Resolves #371 (users would get slow pooling layers by default because
ignore_border=False
prevents cuDNN from being used). Adds a note aboutignore_border=True
slowing down computations. Unifies*PoolLayer
interfaces to follow the same order ofpool_size, stride, pad, ignore_border, (mode)
, they were inconsistent before and sometimes not even matching the order in their own docstrings. Adapts the tests.