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

torch1.9之后发生的问题

一般发生在开头的导包阶段,主要原因是torch1.9之后发生的,因为1.8版本之后container_abcs就已经被移除了。

我的是torch1.10+cuda11.1

File "/home/hdc/.local/lib/python3.7/site-packages/timm/models/layers/helpers.py", line 14, in <module>
    from torch._six import container_abcs
ImportError: cannot import name 'container_abcs' from 'torch._six' (/home/hdc/anaconda3/envs/pytorch18/lib/python3.8/site-packages/torch/_six.py)

这个错误可以选择降版本到torch1.8,但是其实比较麻烦,不推荐这个。

解决方式

找到你报错的文件路径

File "/home/hdc/.local/lib/python3.7/site-packages/timm/models/layers/helpers.py"

顺着这个路径找到helpers.py,把这里面的

from torch._six import container_abcs

给注释掉,换成

import collections.abc as container_abcs

最终结果如下
ImportError: cannot import name ‘container_abcs‘ from ‘torch._six‘_第1张图片
其他的报错文件也一样的改法。

参考

如果在apex/amp/_amp_state.py报错,可以参考下面这个文章
关于升级pytorch1.9后出现cannot import name ‘container_abcs‘ from ‘torch._six‘错误的解决方法

你可能感兴趣的:(深度学习,ubuntu,python)