栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

pytorch加载torchvision中预训练好的模型时,更改模型保存地址

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

pytorch加载torchvision中预训练好的模型时,更改模型保存地址

入门小菜鸟,希望像做笔记记录自己学的东西,也希望能帮助到同样入门的人,更希望大佬们帮忙纠错啦~侵权立删。

感谢【Pytorch】加载torchvision中预训练好的模型并修改默认下载路径(使用models.__dict__[model_name]()读取) - 灰信网(软件开发博客聚合)

今天我在执行这行代码时,它开始给我把resnet101的预训练模型下载安装在我的C盘里!!!

model = getattr(models, backbone)(pretrained)

可是我的C盘已经要这样了

所以我想给他更改一下它的默认保存途径,方法——改源码


因为我下载的是resnet101,所以我去找resnet.py的源码。

1、查找安装环境的默认所在路径

那么如何能找到自己的那些环境的包放在哪呢?

来,进行一波操作

conda list

这样在最前面我们就可以看到

packages in environment xxxxx

这个xxx就是你安装环境的地址

2、找到其中的torchvision包,进而找源码

resnet.py的源码的位置应该在这个xxx加上/lib/python3.7/site-packages/torchvision/models/里面

model_urls = {
    'resnet18': 'https://download.pytorch.org/models/resnet18-5c106cde.pth',
    'resnet34': 'https://download.pytorch.org/models/resnet34-333f7ec4.pth',
    'resnet50': 'https://download.pytorch.org/models/resnet50-19c8e357.pth',
    'resnet101': 'https://download.pytorch.org/models/resnet101-5d3b4d8f.pth',
    'resnet152': 'https://download.pytorch.org/models/resnet152-b121ed2d.pth',
}
def resnet101(pretrained=False, **kwargs):
    """Constructs a ResNet-101 model.

    Args:
        pretrained (bool): If True, returns a model pre-trained on ImageNet
    """
    model = ResNet(Bottleneck, [3, 4, 23, 3], **kwargs)
    if pretrained:
        model.load_state_dict(model_zoo.load_url(model_urls['resnet101']))
    return model

可以看到这个下载安装是由model_zoo.load_url()所决定的,赶紧康康他在哪

import torch.utils.model_zoo as model_zoo

好嘞~顺藤摸瓜

3、找到torch包中的model_zoo.py

位置应该在这个xxx加上/lib/python3.7/site-packages/torch/utils/里的model_zoo.py

很好只有一条线索,省得我去找(bushi

from torch.hub import tqdm, load_state_dict_from_url as load_url  # noqa: F401

load_url就是load_state_dict_from_url,在torch.hub里

4、找到torch包中的hub.py
def load_state_dict_from_url(url, model_dir=None, map_location=None, progress=True, check_hash=False, file_name=None):

分析代码发现安装的路径是由model_dir决定的,所以我们把model_dir=None中的None改成你想要的安装地址,就OK啦~


欢迎大家在评论区批评指正,谢谢大家~

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/744091.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号