Search code examples
pythonimportdeep-learningpytorchsix

potential bug when upgrading to PyTorch 1.9 ImportError: cannot import name 'int_classes' from 'torch._six'


I installed PyTorch using

$ pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html
I get this error:
(proxy) [jalal@goku proxynca_pp]$ CUDA_VISIBLE_DEVICES=0,1 python train.py --dataset cub  --config config/cub.json --mode train --apex --seed 0
Traceback (most recent call last):
  File "train.py", line 3, in <module>
    import dataset
  File "/scratch3/research/code/fashion/proxynca_pp/dataset/__init__.py", line 6, in <module>
    from . import utils
  File "/scratch3/research/code/fashion/proxynca_pp/dataset/utils.py", line 8, in <module>
    from torch._six import int_classes as _int_classes
ImportError: cannot import name 'int_classes' from 'torch._six' (/scratch3/venv/proxy/lib/python3.8/site-packages/torch/_six.py)

The code is from this GitHub repo. What in the code should I change to get it working?

(proxy) [jalal@goku proxynca_pp]$ pip freeze
h5py==3.4.0
numpy==1.21.2
Pillow==8.3.2
scipy==1.7.1
torch==1.9.0+cu111
torchaudio==0.9.0
torchvision==0.10.0+cu111
tqdm==4.62.2
typing-extensions==3.10.0.2

Solution

  • Easiest solution would be to just set int_classes = int instead of importing it from _six.