在一个新配的conda环境下用多卡跑程序时遇到了AttributeError: module ‘collections’ has no attribute 'Container’的问题。(python3.10.9, torch1.11.0)
试了一下,在3.8.8版本的python下
>import collections
>collections.Container
结果:
<stdin>:1: DeprecationWarning: Using or importing the ABCs from ‘collections’ instead of from ‘collections.abc’ is deprecated since Python 3.3, and in 3.9 it will stop working
<class ‘collections.abc.Container’>
新的环境恰好是3.10.9,大于3.9了,尝试相同的输入:
>import collections
>collections.Container
结果:
AttributeError: module ‘collections’ has no attribute ‘Container’
改为:
>collections.abc.Container
结果正常:
<class ‘collections.abc.Container’>
于是在报错文件lib/python3.10/site-packages/torch/cuda/nccl.py中把collections.Container改成collections.abc.Container
问题解决