pytorch之torch.utils.model_zoo.load_url()在给定URL上加载Torch序列化对象

2023-10-13 07:10

本文主要是介绍pytorch之torch.utils.model_zoo.load_url()在给定URL上加载Torch序列化对象,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

torch.utils.model_zoo.load_url(url, model_dir=None)
在给定URL上加载Torch序列化对象。
通俗点说,就是通过提供的.pth文件的url地址来下载指定的.pth文件【在pytorch中.pth文件就是模型的参数文件】

参数:

  • url (string) - 要下载对象的URL
  • model_dir (string, optional) - 保存对象的目录

如果对象已经存在于model_dir中,则将被反序列化并返回。【也就是后面所说的——已经下载好模型的情况】

参数详细说明:
(1)这里被model_zoo加载的权重遵循命名约定标准——url的文件名: 模型名-<SHA256取前n位>.pth,其中<SHA256取前n位>是文件内容的SHA256哈希的前八位或更多位数字。哈希用于确保唯一的名称并验证文件的内容。

The filename part of the URL should follow the naming convention filename-<sha256>.ext where <sha256> is the first eight or more digits of the SHA256 hash of the contents of the file.

例如:

http://data.lip6.fr/cadene/pretrainedmodels/dpn131-7af84be88.pth
http://data.lip6.fr/cadene/pretrainedmodels/resnext101_32x4d-29e315fa.pth
http://data.lip6.fr/cadene/pretrainedmodels/inceptionresnetv2-520b38e4.pth

如何查看SHA256?

  • Window:certutil -hashfile filename SHA256
  • Linux:sha256sum <filename>

在这里插入图片描述

补充——查看文件的三种哈希:

  • Window:
certutil -hashfile filename MD5
certutil -hashfile filename SHA1
certutil -hashfile filename SHA256
  • Linux:
md5sum <filename>
sha1sum <filename>
sha256sum <filename>

(2)model_dir的默认值为$TORCH_HOME/models,其中$TORCH_HOME默认为~/.torch。可以使用$TORCH_MODEL_ZOO环境变量来覆盖默认目录。

我下载的默认路径是:

~/.cache/torch/checkpoints

可以通过设置全局变量export TORCH_HOME=/xx/xxx即可修改下载的默认路径。修改后的路径为$TORCH_HOME/xx/xxx

例子:

weight_url='https://yjxiong.blob.core.windows.net/models/inceptionv3-cuhk-0e09b300b493bc74c.pth'
pretrained_dict = torch.utils.model_zoo.load_url(weight_url)

参考:官方文档


如果对象已经存在于model_dir中,则将被反序列化并返回。
【已经下载好模型的情况】

如果你已经下载好模型了,那么可以通过torch.load(‘the/path/of/.pth’)导入
因为torch.utils.model_zoo.load_url()方法最后返回的时候也是用torch.load接口封装成字典输出

例如我的代码(部分):

weight_url='https://yjxiong.blob.core.windows.net/models/inceptionv3-cuhk-0e09b300b493bc74c.pth'
pretrained_dict = torch.utils.model_zoo.load_url(weight_url)
self.load_state_dict(pretrained_dict)

因此不想下载的话可以用如下代码:

checkpoint=torch.load('~/.cache/torch/checkpoints/inceptionv3-cuhk-0e09b300b493bc74c.pth') 
self.load_state_dict(checkpoint)

这篇关于pytorch之torch.utils.model_zoo.load_url()在给定URL上加载Torch序列化对象的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/201575

相关文章

Java controller接口出入参时间序列化转换操作方法(两种)

《Javacontroller接口出入参时间序列化转换操作方法(两种)》:本文主要介绍Javacontroller接口出入参时间序列化转换操作方法,本文给大家列举两种简单方法,感兴趣的朋友一起看... 目录方式一、使用注解方式二、统一配置场景:在controller编写的接口,在前后端交互过程中一般都会涉及

判断PyTorch是GPU版还是CPU版的方法小结

《判断PyTorch是GPU版还是CPU版的方法小结》PyTorch作为当前最流行的深度学习框架之一,支持在CPU和GPU(NVIDIACUDA)上运行,所以对于深度学习开发者来说,正确识别PyTor... 目录前言为什么需要区分GPU和CPU版本?性能差异硬件要求如何检查PyTorch版本?方法1:使用命

SpringBoot中配置文件的加载顺序解读

《SpringBoot中配置文件的加载顺序解读》:本文主要介绍SpringBoot中配置文件的加载顺序,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot配置文件的加载顺序1、命令⾏参数2、Java系统属性3、操作系统环境变量5、项目【外部】的ap

Java对象转换的实现方式汇总

《Java对象转换的实现方式汇总》:本文主要介绍Java对象转换的多种实现方式,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Java对象转换的多种实现方式1. 手动映射(Manual Mapping)2. Builder模式3. 工具类辅助映

关于MongoDB图片URL存储异常问题以及解决

《关于MongoDB图片URL存储异常问题以及解决》:本文主要介绍关于MongoDB图片URL存储异常问题以及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录MongoDB图片URL存储异常问题项目场景问题描述原因分析解决方案预防措施js总结MongoDB图

C++如何通过Qt反射机制实现数据类序列化

《C++如何通过Qt反射机制实现数据类序列化》在C++工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作,所以本文就来聊聊C++如何通过Qt反射机制实现数据类序列化吧... 目录设计预期设计思路代码实现使用方法在 C++ 工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作。由于数据类

Java 正则表达式URL 匹配与源码全解析

《Java正则表达式URL匹配与源码全解析》在Web应用开发中,我们经常需要对URL进行格式验证,今天我们结合Java的Pattern和Matcher类,深入理解正则表达式在实际应用中... 目录1.正则表达式分解:2. 添加域名匹配 (2)3. 添加路径和查询参数匹配 (3) 4. 最终优化版本5.设计思

pytorch自动求梯度autograd的实现

《pytorch自动求梯度autograd的实现》autograd是一个自动微分引擎,它可以自动计算张量的梯度,本文主要介绍了pytorch自动求梯度autograd的实现,具有一定的参考价值,感兴趣... autograd是pytorch构建神经网络的核心。在 PyTorch 中,结合以下代码例子,当你

Python中判断对象是否为空的方法

《Python中判断对象是否为空的方法》在Python开发中,判断对象是否为“空”是高频操作,但看似简单的需求却暗藏玄机,从None到空容器,从零值到自定义对象的“假值”状态,不同场景下的“空”需要精... 目录一、python中的“空”值体系二、精准判定方法对比三、常见误区解析四、进阶处理技巧五、性能优化

如何在pycharm安装torch包

《如何在pycharm安装torch包》:本文主要介绍如何在pycharm安装torch包方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录在pycharm安装torch包适http://www.chinasem.cn配于我电脑的指令为适用的torch包为总结在p