f-dangel / backpack

BackPACK - a backpropagation package built on top of PyTorch which efficiently computes quantities other than the gradient.
https://backpack.pt/
MIT License
555 stars 55 forks source link

can not import backpack (ImportError: cannot import name 'OrderedDict' from 'typing') #231

Closed lprintf closed 2 years ago

lprintf commented 2 years ago

env: python=3.7.0 backpack_for_pytorch==1.4.0

log:

/media/Store/lyj/miniconda3/envs/py3.7/bin/python /media/Store/lyj/workspace/mlsad/debug_backpack.py
Traceback (most recent call last):
  File "/media/Store/lyj/workspace/mlsad/debug_backpack.py", line 1, in <module>
    import backpack
  File "/media/Store/lyj/miniconda3/envs/py3.7/lib/python3.7/site-packages/backpack/__init__.py", line 10, in <module>
    from backpack import extensions
  File "/media/Store/lyj/miniconda3/envs/py3.7/lib/python3.7/site-packages/backpack/extensions/__init__.py", line 3, in <module>
    from .curvmatprod import GGNMP, HMP, PCHMP
  File "/media/Store/lyj/miniconda3/envs/py3.7/lib/python3.7/site-packages/backpack/extensions/curvmatprod/__init__.py", line 24, in <module>
    from .ggnmp import GGNMP
  File "/media/Store/lyj/miniconda3/envs/py3.7/lib/python3.7/site-packages/backpack/extensions/curvmatprod/ggnmp/__init__.py", line 21, in <module>
    from backpack.extensions.secondorder.base import SecondOrderBackpropExtension
  File "/media/Store/lyj/miniconda3/envs/py3.7/lib/python3.7/site-packages/backpack/extensions/secondorder/__init__.py", line 27, in <module>
    from backpack.extensions.secondorder.diag_ggn import (
  File "/media/Store/lyj/miniconda3/envs/py3.7/lib/python3.7/site-packages/backpack/extensions/secondorder/diag_ggn/__init__.py", line 50, in <module>
    from backpack.custom_module.branching import SumModule
  File "/media/Store/lyj/miniconda3/envs/py3.7/lib/python3.7/site-packages/backpack/custom_module/branching.py", line 2, in <module>
    from typing import Any, OrderedDict, Tuple, Union
ImportError: cannot import name 'OrderedDict' from 'typing' (/media/Store/lyj/miniconda3/envs/py3.7/lib/python3.7/typing.py)
lprintf commented 2 years ago

A solution: update python to 3.7.2

lprintf commented 2 years ago

A solution: update python to 3.7.2

It work for me.

ref: https://github.com/gitpython-developers/GitPython/issues/1300