Git Product home page Git Product logo

Comments (6)

psteinb avatar psteinb commented on May 30, 2024 2

I can confirm the findings of @ZXP-S-works. Some more details from my fresh virtual env:

$ python -c 'import platform;print(platform.sys.version);print(platform.platform())'
3.10.9 (main, Dec  7 2022, 00:00:00) [GCC 12.2.1 20221121 (Red Hat 12.2.1-4)]
Linux-6.1.12-100.fc36.x86_64-x86_64-with-glibc2.35
$ python -m pip list
Package                  Version
------------------------ -----------
attrs                    22.2.0
autograd                 1.5
certifi                  2022.12.7
charset-normalizer       3.0.1
contourpy                1.0.7
cycler                   0.11.0
escnn                    1.0.4
exceptiongroup           1.1.0
fonttools                4.38.0
future                   0.18.3
idna                     3.4
imageio                  2.25.1
iniconfig                2.0.0
Jinja2                   3.1.2
joblib                   1.2.0
kiwisolver               1.4.4
lie-learn                0.0.1.post1
MarkupSafe               2.1.2
matplotlib               3.7.0
networkx                 3.0
numpy                    1.24.2
nvidia-cublas-cu11       11.10.3.66
nvidia-cuda-nvrtc-cu11   11.7.99
nvidia-cuda-runtime-cu11 11.7.99
nvidia-cudnn-cu11        8.5.0.96
packaging                23.0
Pillow                   9.4.0
pip                      23.0.1
pluggy                   1.0.0
psutil                   5.9.4
py3nj                    0.1.2
pymanopt                 2.1.1
pyparsing                3.0.9
pytest                   7.2.1
python-dateutil          2.8.2
PyWavelets               1.4.1
requests                 2.28.2
scikit-image             0.19.3
scikit-learn             1.2.1
scipy                    1.10.1
setuptools               67.4.0
six                      1.16.0
threadpoolctl            3.1.0
tifffile                 2023.2.3
tomli                    2.0.1
torch                    1.13.1
torch-geometric          2.2.0
tqdm                     4.64.1
typing_extensions        4.5.0
urllib3                  1.26.14
wheel                    0.38.4

I pulled the repo HEAD and ran python -m pip install .

From this I get:

$ python ./examples/octahedral_cnn.py
________________________________________________________________________________
[Memory] Calling escnn.group.groups.octa._build_octa_irrep...
_build_octa_irrep(Octahedral, -1)
_________________________________________________build_octa_irrep - 0.9s, 0.0min
________________________________________________________________________________
[Memory] Calling escnn.group.groups.octa._build_octa_irrep...
_build_octa_irrep(Octahedral, 2)
_________________________________________________build_octa_irrep - 0.9s, 0.0min
________________________________________________________________________________
[Memory] Calling escnn.group.groups.octa._build_octa_irrep...
_build_octa_irrep(Octahedral, 3)
_________________________________________________build_octa_irrep - 0.9s, 0.0min
Traceback (most recent call last):
  File "/home/steinb95/development/escnn/repo/py310-head/lib64/python3.10/site-packages/escnn/group/groups/so3group.py", line 573, in _restrict_irrep
    raise NotImplementedError()
NotImplementedError
# ...
  File "/home/steinb95/development/escnn/repo/py310-head/lib64/python3.10/site-packages/escnn/group/_numerical.py", line 419, in decompose_representation_finitegroup
    cob = compute_change_of_basis_finitegroup(representation, irreps)
  File "/home/steinb95/development/escnn/repo/py310-head/lib64/python3.10/site-packages/escnn/group/_numerical.py", line 274, in compute_change_of_basis_finitegroup
    D, err = find_orthogonal_matrix(basis, shape)
  File "/home/steinb95/development/escnn/repo/py310-head/lib64/python3.10/site-packages/escnn/group/_numerical.py", line 155, in find_orthogonal_matrix
    raise ImportError("Missing optional 'pymanopt' dependency. Install 'pymanopt' to use this function")
ImportError: Missing optional 'pymanopt' dependency. Install 'pymanopt' to use this function

Which is an overstatement, because as you see pymanopt is installed, however as @ZXP-S-works correctly points out, the API changed:

try:
    import pymanopt
    from pymanopt.manifolds import Euclidean
    from pymanopt.solvers import TrustRegions #fails with pymanopt 2.1.1

except ImportError:
    pymanopt = None

from escnn.

Gabri95 avatar Gabri95 commented on May 30, 2024

Hi @ZXP-S-works ,

It seems like I am still using a rather old version of pymanopt (0.2.5) and I was not aware of changes in the pymanopt API, thanks for reporting this!
Could you share the error you found (and how you triggered) and your pymanopt version, so I can try to replicate this problem?

I will try to update the code with the newest version of pymanopt

Thanks,
Gabriele

from escnn.

ZXP-S-works avatar ZXP-S-works commented on May 30, 2024

Hi Gabriele,

Thank you for your quick reply! I have fixed this problem for the octaOnR3() group and verified the equivariance of it's R3Conv() in ./example/octahedra cnn.py. I have sent a pull request. The problems are in the ./escnn/group/_numerical.py. See the below figure.

The error when using pymanopt <= 0.2.4 I found is "Missing optional 'pymanopt' dependency. Install 'pymanopt' to use this function". When I use pymanopt >= 1.0.0 I got "cost function needs decorator". These error are triggered when I instantiating an nn.R3Conv() class with gspaces.ocatOnR3() group (in channel: trivial_repr, our channel: regular_repr).

Best,
XP

from escnn.

Gabri95 avatar Gabri95 commented on May 30, 2024

Hi @ZXP-S-works

I updated my environment to pymanopt==2.1.1 but I was not able to trigger your error (also, I was wrong earlier and my most recent environment was using pymanopt==2.0.1 already).

I have also tried running your examples/octahedral cnn.py example, but I did not have any issues.
What version of pymanopt are you using?

Best,
Gabriele

from escnn.

ZXP-S-works avatar ZXP-S-works commented on May 30, 2024

Hi Gabriele,

If you use the current escnn at commit "v1.0.4" and run examples/octahedral cnn.py, you will trigger the errors.

I have sent a pull request #33 that has fixed this compatibility issue. Therefore if you use this commit there will be no errors for pymanopt.

Sorry for the late pull request update, I spent some time fixing the sign-off error.

Best,
XP

from escnn.

Gabri95 avatar Gabri95 commented on May 30, 2024

Allright, I managed to replicate the error. I thought pymanopt was the issue, while this is a problem only when trying to import (and use) pymanopt.solvers (I could not replicate it earlier since I already had most of the outputs of the numerical routines which use pymanopt cached, sorry for that).
I am working on fixing this now, thanks again for reporting this and for the pull-request!

Best,
Gabriele

from escnn.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.