-
Notifications
You must be signed in to change notification settings - Fork 139
Make Q2
customizable
#854
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
Make Q2
customizable
#854
Conversation
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.
nice work, have you tested it?
The code looks greatl but the documentation could be improved a bit. See my comments
Thanks!
i have attempted a rebase. fingers crossed |
yes the merge with your latest changes on dev should be sufficient |
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.
This PR adds a feature where users can specify the Q parameter of the 2nd order wavelets.
I approve this change.
we're waiting for @cyrusvahidi to approve the tests |
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.
still need to check that for a dummy input Scattering1D
returns the same thing for Q = (8, )
and Q = (8, 1)
|
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 like tests are passing again. It's just that the current error message is not accurate:
Q should be an integer, a 1-tuple, or a 2-tuple.
if not A.is_cuda or not B.is_cuda:
> raise TypeError('Input and filter must be CUDA tensors.')
E TypeError: Input and filter must be CUDA tensors. |
Thank you so much @changhongw 🎉 |
in light of kymatio#854 and kymatio#882 enable TeX rendering
by Daniel Haider and Vincent Lostanlen approved by Muawiz Chaudhary and Joakim Andén * Update plot_filters.py * Update plot_filters.py * Update plot_filters.py Edits as required: - original formatting - line width reduction - psi <- psi_i * Update plot_filters.py * update examples/1d/plot_filters in light of #854 and #882 enable TeX rendering Co-authored-by: Vincent Lostanlen <vincent.lostanlen@ls2n.fr>
* move Q check to ScatteringBase1D.build * Tuneable Q2 * test on GPU * Update base_frontend.py * Update base_frontend.py * Update test_torch_scattering1d.py * skip `_skcuda` * Update test_torch_scattering1d.py Co-authored-by: Vincent Lostanlen <vincent.lostanlen@ls2n.fr>
by Daniel Haider and Vincent Lostanlen approved by Muawiz Chaudhary and Joakim Andén * Update plot_filters.py * Update plot_filters.py * Update plot_filters.py Edits as required: - original formatting - line width reduction - psi <- psi_i * Update plot_filters.py * update examples/1d/plot_filters in light of #854 and #882 enable TeX rendering Co-authored-by: Vincent Lostanlen <vincent.lostanlen@ls2n.fr>
Fix #853
This PR makes it flexible for users to specify the number of wavelets per octave at the first and second order scattering. Both cases are working:
Q
as an integer:Q = Q1
. In this case, we useQ1
wavelets per octave at the first order and that for the second order defaults to one.Q
as a tuple:Q = (Q1, Q2)
, where users can specify bothQ1
andQ2
according to their needs.