首页 > 其他分享 >pytorch 加载(.pth)格式的模型

pytorch 加载(.pth)格式的模型

时间:2023-06-14 21:35:40浏览次数:45  
标签:torchvision pth models 模型 pytorch 下载 加载


有一些非常流行的网络如 resnet、squeezenet、densenet等在pytorch里面都有,包括网络结构和训练好的模型。

pytorch自带模型网址:https://pytorch-cn.readthedocs.io/zh/latest/torchvision/torchvision-models/

按官网加载预训练好的模型:

import torchvision.models as models

# pretrained=True就可以使用预训练的模型
resnet18 = models.resnet18(pretrained=True)
print(resnet18)

报错如下:

requests.exceptions.ConnectionError: ('Connection aborted.', TimeoutError(10060, '由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。', None, 10060, None))

主要是因为代码会去远端下载模型的参数,而国内的网一般连接不上,这是我们需要手动去下载你要的预训练网络。

通过地址下载,地址有两种获取方式:

1.从报错里面获取,上述代码运行时会出现这样一行信息:

Downloading: "https://download.pytorch.org/models/resnet18-5c106cde.pth" to C:\Users\Luo/.torch\models\resnet18-5c106cde.pth

复制这个网址到浏览器,有可能打不开,去掉https://,直接输入download.pytorch.org/models/resnet18-5c106cde.pth就可以下载了。

2.从pytorch的github下找模型的地址:https://github.com/pytorch/vision/tree/master/torchvision/models

找到对应模型名称点进去找地址

pytorch 加载(.pth)格式的模型_缓存

下载好后自行保存,我是直接存在pytorch models里面

接下来就是运行这个.pth文件。首先要判断是保存的整个网络结构加参数呢,还是只保存了参数,可以测试一下。这是我的模型是squeezenet1_1,你可以测试自己下载的模型

import torch
pthfile = r'E:\anaconda\app\envs\luo\Lib\site-packages\torchvision\models\squeezenet1_1.pth'
net = torch.load(pthfile)
print(net)

结果为

pytorch 加载(.pth)格式的模型_缓存_02

很明显就是只保存了参数,这是我们要换个方法加载模型

import torch
import torchvision.models as models

# pretrained=True就可以使用预训练的模型
net = models.squeezenet1_1(pretrained=False)
pthfile = r'E:\anaconda\app\envs\luo\Lib\site-packages\torchvision\models\squeezenet1_1.pth'
net.load_state_dict(torch.load(pthfile))
print(net)

结果;

pytorch 加载(.pth)格式的模型_缓存_03

这下就加载好预训练模型了

另外,还有一种情况,pretrained = False加载模型也要出错

比如

model = torchvision.models.segmentation.fcn_resnet50(pretrained=False)

运行会显示如下结果:意思是它会把模型下载到缓存里,但是由于网络问题有时他下载不下来,或者每次运行代码都要重新下载,浪费时间。

pytorch 加载(.pth)格式的模型_缓存_04

pytorch 加载(.pth)格式的模型_加载_05

这时,我们就手动复制链接下载下来,存放在你的项目里面,然后再把它复制到缓存里面

这时,需要用终端命令,在notebook上可以这样操作:

pytorch 加载(.pth)格式的模型_加载_06

大意就是,先创建缓存地址,同之前报错的地址一样,之后把下载的文件复制到这个路径下,这样他就不会重新去下载了。


标签:torchvision,pth,models,模型,pytorch,下载,加载
From: https://blog.51cto.com/u_16159492/6481492

相关文章

  • CAM、热力图 pytorch可视化卷积层
    参考github:https://github.com/sixitingting/CAM/blob/master/pytorch_CAM.py也就是类激活映射(CAM)原作者所给,想要懂理论的去看论文,本次着重实践。CAM结果展示:top1prediction:mountainbike,all-terrainbike,off-roader 后话先说:我发现现在还有很多朋友搜到这篇文章,但这是我......
  • 如何从Pytorch 到 Pytorch Lightning (二) | 简要介绍
    这篇文章主要介绍为什么使用pytorch时,需要使用Lightning的最常见问题。由PytorchLightning的主创团队编写(WilliamFalcon),经本文翻译。PyTorch非常易于使用,可以构建复杂的AI模型。但是一旦研究变得复杂,并且将诸如多GPU训练,16位精度和TPU训练之类的东西混在一起,用户很可能引入Bug。......
  • pytorch -- topk()
    torch.topk(input,k,dim=None,largest=True,sorted=True,out=None)->(Tensor,LongTensor) pytorch中文官网文档:http://www.mamicode.com/info-detail-2217311.html沿给定dim维度返回输入张量input中 k 个最大值。如果不指定dim,则默认为input的最后一维。如果为largest......
  • pytorch 使用示例
    记录通过pytorch编写cnn模型示例,包括训练、模型、预测全流程代码结构,数据采集公共调制方式识别数据集,编写代码简单,以便进行pytorch学习。train.pyimportosimportnumpyasnpimporttorchimporttorch.nnasnnimporttorch.optimasoptimfromtqdmimporttqdmfrom......
  • vue3 css ts 双重弹跳加载动画
    /双重弹跳加载动画*/效果如同页面https://codepen.io/yjx123/pen/zYMvbML<ahref="javascript:void(0)"@click="startLoading"><inline-svg:src="getAssetPath(iconPath)"></inline-svg><div:style="{......
  • myeclipse 不能正常加载项目
    问题不能加载项目,在选择项目后,DeployLocation是空的。 解决 1、网上查询后,提示,右键项目→ properties  →MyEclipse  →ProjectFacets  →web。修改項目名字。 2、但是在操作时,发现提示  thecurrentlydisplayedpagecontainsinvalidvalues。 ......
  • windows安装pytorch环境
    由于CUDAVersion更新到11.7了,因此,本教程也同步更新安装Anaconda(1)首先打开Anaconda官网,下载对应平台的安装包Anaconda官网我们这里安装的包是Anaconda3-2022.10-Windows-x86_64.exe然后,双击exe文件,开始安装等待安装结束(这里选择Justme即可)注:这里有一种方法可以自动添加......
  • 实现懒加载
    原文合集地址如下,有需要的朋友可以关注本文地址合集地址什么是懒加载只在数据或内容即将进入视口或即将需要的时候才加载。实现懒加载的好处有:提高页面加载速度和响应速度。只加载当前用户需要或将要浏览到的数据,避免一次性加载大量不必要的数据。节省用户流量。只加载......
  • 实现懒加载
    原文合集地址如下,有需要的朋友可以关注本文地址合集地址什么是懒加载只在数据或内容即将进入视口或即将需要的时候才加载。实现懒加载的好处有:提高页面加载速度和响应速度。只加载当前用户需要或将要浏览到的数据,避免一次性加载大量不必要的数据。节省用户流量。只加载用户浏览......
  • 装pytorch环境
    第一步:先装cuda,装完就可以在cmd显示,cudnn。第二步:在anaconda里安装,加环境,create-namepython=3.10等。第三步,进去环境里,安装的pytorch要对应cudnn版本,还有python版本对应。pytorch安装的时候看仔细,是GPU,不要cpu版本的。结束......