Colab 笔记本:无法从 'torch._six' 导入名称 'container_abcs'

Colab Notebook: Cannot import name 'container_abcs' from 'torch._six'

我正在尝试 运行 在此处找到的 deit colab 笔记本:

https://colab.research.google.com/github/facebookresearch/deit/blob/colab/notebooks/deit_inference.ipynb

但我 运行正在解决第二个单元格中的问题,特别是 import timm 行,returns this:

ImportError: 无法从 'torch._six'

导入名称 'container_abcs'
  • 与此错误相关的问题 here:

尝试 timm 库的特定 版本

!pip install timm==0.3.2

当我安装 torch==1.9.0 和 torch-geometric 时, 旧代码有错误。

这是我的解决方案:

   TORCH_MAJOR = int(torch.__version__.split('.')[0])
   TORCH_MINOR = int(torch.__version__.split('.')[1])
   if TORCH_MAJOR == 0:
      import collections.abc as container_abcs
   else:
      from torch._six import container_abcs

改为:

    TORCH_MAJOR = int(torch.__version__.split('.')[0])
    TORCH_MINOR = int(torch.__version__.split('.')[1])
    if TORCH_MAJOR == 1 and TORCH_MINOR < 8:
        from torch._six import container_abcs,int_classes
    else:
        import collections.abc as container_abcs
        int_classes = int

在我的例子中它适用于

pip install timm==0.4.12