cannot import name ‘container_abcs‘ from ‘torch._six‘

进行模型训练的时候,报错:

cannot import name ‘container_abcs‘ from ‘torch._six‘_第1张图片

 原因是:torch1.8版本之后container_abcs被移除了,所以我们需要修改timm库中调用container_abcs的调用方式:

timm库中调用container_abcs的文件是“~\Conda\envs\pytorch\Lib\site-packages\timm\models\layers\helpers.py”

文件的调用程序如图:

cannot import name ‘container_abcs‘ from ‘torch._six‘_第2张图片

我们对其进行修改,根据Pytorch的版本来选择不同的调用方式(把原来那句话替换掉或者注释掉)

# 根据torch版本自动选择不同的导入方式
import torch
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
else:
    import collections.abc as container_abcs

 

 

你可能感兴趣的:(深度学习,pytorch,机器学习)