torch.hub.load加载pth
时间: 2025-02-01 15:58:28 浏览: 93
### 使用 `torch.hub.load` 加载 `.pth` 模型文件
为了使用 `torch.hub.load` 来加载本地的 `.pth` 文件,通常情况下会遇到网络连接问题或路径配置不正确的情况。一种有效的方法是通过设置 `source='local'` 参数来指定从本地加载模型。
当希望利用 `torch.hub.load` 方法并结合本地存储的 `.pth` 文件时,可以按照如下方式进行操作:
```python
import torch
# 假设 dinov2_vitg14 是自定义模型名称,并且已经存在于本地目录下
model_path = 'C:\\Users\\Administrator\\.cache\\torch\\hub\\checkpoints\\resnet101-5d3b4d8f.pth'
repo_or_dir = 'path/to/local/repo'
# 设置 source 参数为 local 并指明 repo 或者 dir 的位置
loaded_model = torch.hub.load(repo_or_dir, 'dinov2_vitg14', source='local', pretrained=False)
# 将下载好的权重文件加载到模型中
state_dict = torch.load(model_path)
loaded_model.load_state_dict(state_dict)
```
上述代码片段展示了如何先通过 `torch.hub.load` 函数创建一个未初始化权重的模型实例[^4],随后再用 `torch.load` 函数读取实际的预训练参数文件[^3],并将这些参数应用到刚刚创建的模型结构上去。
需要注意的是,在此过程中应当确保所使用的模型架构与`.pth`文件中的权重相匹配;否则可能会因为层名不符等原因而抛出异常错误。
阅读全文
相关推荐



















