Colab Notebook:无法从“torch._six”导入名称“container_abcs”

Posted

技术标签:

【中文标题】Colab Notebook:无法从“torch._six”导入名称“container_abcs”【英文标题】:Colab Notebook: Cannot import name 'container_abcs' from 'torch._six' 【发布时间】:2022-01-08 14:09:27 【问题描述】:

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

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

但我在第二个单元格中遇到了问题,特别是 import timm 行,它返回:

ImportError: 无法从“torch._six”导入名称“container_abcs”

【问题讨论】:

【参考方案1】:

 这个问题之前已经提出here:

您需要拥有timm 库的最后一个版本,因此替换以下行:

!pip install timm==0.3.2

通过

!pip install timm

【讨论】:

【参考方案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

【讨论】:

以上是关于Colab Notebook:无法从“torch._six”导入名称“container_abcs”的主要内容,如果未能解决你的问题,请参考以下文章

如何直接将文件从 colab 复制到 github repo? (可以将 notebook 保存在 Github repo 中)

如何从 Google Colab Notebook 中杀死 Ngrok 隧道

Google colab 无法处理 hdf5 文件

从Google Colab中的驱动器读取文件

torch.cuda.is_available() 在 colab 中返回 false

在 VM 引擎中导入 google.colab 不会让我在 Google Colab 中运行 Jupyter Notebook?