timm库的预训练文件调用问题

调用timm的预训练权重时,遇到以下问题,猜测和文件的下载有关。实际可以在hugface上先下载相关文件,但我不太清楚如何设置,使得可以加载本地的预训练权重文件。


Traceback (most recent call last):
  File "H:/learn pin/DL/pytorch-image-models-main/pytorch-image-models-main/validate.py", line 472, in <module>
    main()
  File "H:/learn pin/DL/pytorch-image-models-main/pytorch-image-models-main/validate.py", line 445, in main
    results = validate(args)
  File "H:/learn pin/DL/pytorch-image-models-main/pytorch-image-models-main/validate.py", line 194, in validate
    model = create_model(
  File "H:\learn pin\DL\pytorch-image-models-main\pytorch-image-models-main\timm\models\_factory.py", line 114, in create_model
    model = create_fn(
  File "H:\learn pin\DL\pytorch-image-models-main\pytorch-image-models-main\timm\models\dpn.py", line 347, in dpn92
    return _create_dpn('dpn92', pretrained=pretrained, **dict(model_kwargs, **kwargs))
  File "H:\learn pin\DL\pytorch-image-models-main\pytorch-image-models-main\timm\models\dpn.py", line 284, in _create_dpn
    return build_model_with_cfg(
  File "H:\learn pin\DL\pytorch-image-models-main\pytorch-image-models-main\timm\models\_builder.py", line 393, in build_model_with_cfg
    load_pretrained(
  File "H:\learn pin\DL\pytorch-image-models-main\pytorch-image-models-main\timm\models\_builder.py", line 186, in load_pretrained
    state_dict = load_state_dict_from_hf(pretrained_loc)
  File "H:\learn pin\DL\pytorch-image-models-main\pytorch-image-models-main\timm\models\_hub.py", line 188, in load_state_dict_from_hf
    cached_file = hf_hub_download(hf_model_id, filename=filename, revision=hf_revision)
  File "D:\Program\anaconda3\envs\maxvit_det\lib\site-packages\huggingface_hub-0.15.1-py3.8.egg\huggingface_hub\utils\_validators.py", line 118, in _inner_fn
    return fn(*args, **kwargs)
  File "D:\Program\anaconda3\envs\maxvit_det\lib\site-packages\huggingface_hub-0.15.1-py3.8.egg\huggingface_hub\file_download.py", line 1364, in hf_hub_download
    http_get(
  File "D:\Program\anaconda3\envs\maxvit_det\lib\site-packages\huggingface_hub-0.15.1-py3.8.egg\huggingface_hub\file_download.py", line 505, in http_get
    r = _request_wrapper(
  File "D:\Program\anaconda3\envs\maxvit_det\lib\site-packages\huggingface_hub-0.15.1-py3.8.egg\huggingface_hub\file_download.py", line 442, in _request_wrapper
    return http_backoff(
  File "D:\Program\anaconda3\envs\maxvit_det\lib\site-packages\huggingface_hub-0.15.1-py3.8.egg\huggingface_hub\utils\_http.py", line 212, in http_backoff
    response = session.request(method=method, url=url, **kwargs)
  File "D:\Program\anaconda3\envs\maxvit_det\lib\site-packages\requests\sessions.py", line 587, in request
    resp = self.send(prep, **send_kwargs)
  File "D:\Program\anaconda3\envs\maxvit_det\lib\site-packages\requests\sessions.py", line 701, in send
    r = adapter.send(request, **kwargs)
  File "D:\Program\anaconda3\envs\maxvit_det\lib\site-packages\requests\adapters.py", line 547, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(10054, '远程主机强迫关闭了一个现有的连接。', None, 10054, None))
不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这篇博客: 深度学习 常见模块中的 timm 预训练库 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    PyTorch Image Models,是一个巨大的pytorch代码集合,包括:
    image models、layers、utilities、optimizers、schedulers、data-loaders / augmentations、training / validation scripts
    旨在将各种SOTA模型整合在一起,是一个好用的预训练库,以CV分类任务为主。
    加载的模型储存在本地的:

    >>>import timm
    >>>timm.create_model('resnet34', pretrained=True)
    >>>Downloading: "https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/resnet34-43635321.pth" to C:\Users\xxx/.cache\torch\hub\checkpoints\resnet34-43635321.pth  
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^