cannot import name 'model_urls' from 'torchvision.models.resnet'
假设出问题的文件是 pytracking/libs/tensorflow/backbone.py(如果不是,修改逻辑完全一样)。把原来的代码:
python
# 这是旧代码,会报错
from torchvision.models.resnet import model_urls
改为:
python
python
# 新代码:从新版 torchvision 中获取权重 URL
import torchvision.models as models
# 方式一:直接获取权重枚举对象的 url 属性
try:
# 针对 torchvision 0.14+ 的写法
model_urls = {
'resnet18': models.ResNet18_Weights.IMAGENET1K_V1.url,
'resnet34': models.ResNet34_Weights.IMAGENET1K_V1.url,
'resnet50': models.ResNet50_Weights.IMAGENET1K_V1.url,
'resnet101': models.ResNet101_Weights.IMAGENET1K_V1.url,
'resnet152': models.ResNet152_Weights.IMAGENET1K_V1.url,
}
except AttributeError:
# 如果还是不行,退回到旧版写法(兼容)
from torchvision.models.resnet import model_urls