python3.11 安装了 timm 0.6.12 后,在import timm时报错:
ValueError: mutable default <class 'timm.models.maxxvit.MaxxVitConvCfg'> for field conv_cfg is not allowed: use default_factory
在hugging face官方的issue中给出了解决方案:
https://github.com/huggingface/pytorch-image-models/issues/1530
做一次文件修改即可:
打开安装路径中的timm
[你的timm路径]/models/maxxvit.py
首先在line 42添加 field,即从原本的
from dataclasses import dataclass, replace
改为
from dataclasses import dataclass, replace, field
然后修改lines 232、233,从原本的
conv_cfg: MaxxVitConvCfg = MaxxVitConvCfg()
transformer_cfg: MaxxVitTransformerCfg = MaxxVitTransformerCfg()
改为
conv_cfg: MaxxVitConvCfg = field(default_factory=MaxxVitConvCfg)
transformer_cfg: MaxxVitTransformerCfg = field(default_factory=MaxxVitTransformerCfg)
即可