Skip to content
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

Error in so3_rotation (Jd matrix size) with custom data #55

Open
SkirOwen opened this issue Jul 28, 2021 · 0 comments
Open

Error in so3_rotation (Jd matrix size) with custom data #55

SkirOwen opened this issue Jul 28, 2021 · 0 comments

Comments

@SkirOwen
Copy link

I'm trying to make the equivariance_plot script work on my own weather data of size (721, 1440).
When it runs the so3_rotation function I have the following error:

Traceback (most recent call last):
  File "/home/owen/anaconda3/envs/cupy-test/lib/python3.8/site-packages/IPython/core/interactiveshell.py", line 3441, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-2-678a6fff5083>", line 1, in <module>
    runfile('/home/owen/PycharmProjects/cranfield/irp/ai.py', wdir='/home/owen/PycharmProjects/cranfield/irp')
  File "/home/owen/.local/share/JetBrains/Toolbox/apps/PyCharm-P/ch-0/211.7628.24/plugins/python/helpers/pydev/_pydev_bundle/pydev_umd.py", line 197, in runfile
    pydev_imports.execfile(filename, global_vars, local_vars)  # execute the script
  File "/home/owen/.local/share/JetBrains/Toolbox/apps/PyCharm-P/ch-0/211.7628.24/plugins/python/helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "/home/owen/PycharmProjects/cranfield/irp/ai.py", line 109, in <module>
    main(date, cycle)
  File "/home/owen/PycharmProjects/cranfield/irp/ai.py", line 80, in main
    y1 = phi(s2_rotation(x, *abc))
  File "/home/owen/PycharmProjects/cranfield/irp/ai.py", line 15, in s2_rotation
    x = so3_rotation(x.view(*x.size(), 1).expand(*x.size(), x.size(-1)), a, b, c)
  File "/home/owen/PycharmProjects/cranfield/irp/s2cnn/soft/so3_rotation.py", line 18, in so3_rotation
    Us = _setup_so3_rotation(b, alpha, beta, gamma, device_type=x.device.type, device_index=x.device.index)
  File "/home/owen/PycharmProjects/cranfield/irp/s2cnn/soft/so3_rotation.py", line 67, in _setup_so3_rotation
    Us = __setup_so3_rotation(b, alpha, beta, gamma)
  File "/home/owen/PycharmProjects/cranfield/irp/s2cnn/utils/decorator.py", line 97, in wrapper
    result = func(*args)
  File "/home/owen/PycharmProjects/cranfield/irp/s2cnn/soft/so3_rotation.py", line 55, in __setup_so3_rotation
    Us = [wigner_D_matrix(l, alpha, beta, gamma,
  File "/home/owen/PycharmProjects/cranfield/irp/s2cnn/soft/so3_rotation.py", line 55, in <listcomp>
    Us = [wigner_D_matrix(l, alpha, beta, gamma,
  File "/home/owen/anaconda3/envs/cupy-test/lib/python3.8/site-packages/lie_learn/representations/SO3/wigner_d.py", line 63, in wigner_D_matrix
    D = rot_mat(alpha=alpha, beta=beta, gamma=gamma, l=l, J=Jd[l])
IndexError: index 151 is out of bounds for axis 0 with size 151

After trying to debug it, I have found that the issue is with the Jd matrix of size 151, defined in lie_learn when calling the line 55 in s2cnn/soft/so3_rotation.py

Us = [wigner_D_matrix(l, alpha, beta, gamma,
                          field='complex', normalization='quantum', order='centered', condon_shortley='cs')
          for l in range(b)]

b is set as b = x.size()[-1] // 2 so 720 in my case

the winger_D_matrix calls the rot_mat function which uses Jd[l], but since Jd is size 151, it throws the error.

Is there a way to redefine the Jd matrix or do I need to use a different function?

@SkirOwen SkirOwen changed the title Error in so3_rotation with custom data Error in so3_rotation (Jd matrix size) with custom data Jul 28, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant