Why do I get the error: ZeroDivisionError: 0.0 cannot be raised to a negative power error when loading deit model from Timm

Why do I get the error: ZeroDivisionError: 0.0 cannot be raised to a negative power error when loading deit model from Timm

我正在尝试从 timm 推断 DeiT 小变体。

from timm.models import create_model
model = create_model('deit_small_patch16_224', pretrained=True)

但我收到错误消息:

self.scale = head_dim ** -0.5
ZeroDivisionError: 0.0 cannot be raised to a negative power.

但是,使用 model = create_model('deit_tiny_patch16_224', pretrained=True) 创建一个不同的模型,我可以成功地进行推理并且工作得很好。我知道这个错误是由于零除以非零值或被提升到非零的幂。但是我不太明白为什么这个模型甚至在加载任何数据之前就标记来自 timm 的错误。

这是我的 timm 版本错误。升级 timm:pip install --upgrade timm 解决了问题。