首页 > 其他分享 >UserWarning: The parameter 'pretrained' is deprecated since 0.13 and may be removed in the

UserWarning: The parameter 'pretrained' is deprecated since 0.13 and may be removed in the

时间:2023-09-24 17:16:21浏览次数:38  
标签:use resnet50 torchvision may deprecated models weights 版本 model

从 torchvision 0.13开始,加载预训练模型函数的参数从 pretrained = True 改为 weights=预训练模型参数版本 。且旧版本的写法将在未来的torchvision 0.15版本中被Deprecated 。

from torchvision import models

# 旧版本的写法,将在未来的torchvision 0.15版本中被Deprecated
model_old = models.resnet50(pretrained=True) # deprecated
model_old = models.resnet50(True) # deprecated

# torchvision 0.13及以后的新版本写法
model_new = models.resnet50(weights=models.ResNet50_Weights.IMAGENET1K_V1)
# 没有预训练模型加载
model = models.resnet50(weights=None)
model = models.resnet50()

其中,第8行代码的 IMAGENET1K_V1 表示的是 ResNet-50 在 ImageNet 数据集上进行预训练的第一个版本的权重参数文件。是一个版本标识符。

在旧版本的写法 pretrained = True 中,对于预训练权重参数我们没有太多选择的余地,一执行起来就要使用默认的预训练权重文件版本。但问题是,现在深度学习的发展日新月异,很快就有性能更强的模型横空出世。

而使用新版本写法 weights=预训练模型参数版本 ,相当于我们掌握了预训练权重参数文件的选择权。我们就可以尽情地使用更准更快更强更新的预训练权重参数文件,帮助我们的研究更上一层楼。
举个例子:

from torchvision import models

# 加载精度为76.130%的旧权重参数文件V1
model_v1 = models.resnet50(weights=models.ResNet50_Weights.IMAGENET1K_V1)
# 等价写法
model_v1 = models.resnet50(weights="IMAGENET1K_V1")

# 加载精度为80.858%的新权重参数文件V2
model_v2 = models.resnet50(weights=models.ResNet50_Weights.IMAGENET1K_V2)
# 等价写法
model_v1 = models.resnet50(weights="IMAGENET1K_V2")

如果你不知道哪个权重文件的版本是最新的,没关系,直接选择默认DEFAULT即可。官方会随着 torchvision 的升级而让 DEFAULT 权重文件版本保持在最新。如下代码所示:

from torchvision import models

# 如果你不知道哪个版本是最新, 直接选择默认DEFAULT即可
model_new = models.resnet50(weights=models.ResNet50_Weights.DEFAULT)

标签:use,resnet50,torchvision,may,deprecated,models,weights,版本,model
From: https://www.cnblogs.com/xjkj/p/17726219.html

相关文章

  • es 编写查询DSL,查询user_name字段不为空的文档
    内容来自对chatgpt的咨询我们可以使用exists查询来检查user_name字段是否存在且包含非空值:{"query":{"bool":{"must":{"exists":{"field":"user_name"......
  • ClickHouse的数据表设计与性能优化最佳实践探究
    前言ClickHouse是一个高性能的列式数据库,它的设计目标是处理大规模数据集的复杂分析查询。在使用ClickHouse时,数据表的设计和性能优化是非常重要的。本文将深入探讨ClickHouse的数据表设计与性能优化最佳实践。数据表设计列的选择在设计数据表时,需要根据实际情况选择合适的列。......
  • ClickHouse的分布式查询优化
    介绍ClickHouse是一个高性能的列式存储数据库,支持分布式部署。在分布式环境下,如何优化查询性能是一个非常重要的问题。本文将深入探讨ClickHouse的分布式查询优化。分布式查询的挑战在分布式环境下,查询性能的瓶颈通常是网络带宽和节点之间的通信延迟。因此,优化分布式查询的关键......
  • ClickHouse数据表合并与性能优化方法探讨与案例研究分享
    前言ClickHouse是一款高性能的列式数据库,其在海量数据处理方面具有很强的优势。但是,在实际应用中,我们经常需要对多个数据表进行合并,以便更好地进行数据分析和挖掘。本文将探讨ClickHouse的数据表合并与性能优化方法,并结合实际案例进行分享。数据表合并在ClickHouse中,数据表合并......
  • Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connect
    报错 Maxretriesexceededwithurl:/(CausedbyNewConnectionError('<urllib3.connection.HTTPSConnectionobjectat0x000001A73833FD00>:Failedtoestablishanewconnection:[WinError10060]  pipuninstallrequestsurllib3  #先卸载pipinstallre......
  • 从安卓模拟器中获取 expo-av 库录音得到的音频文件 file:///data/user/0/mo.com.nccl.
    在使用expo-av录制音频时,录制结束通过recording.getURI()可以获取得到的音频文件的地址。想要获取该文件可以通过发送请求的方式:consturi=recording.getURI();letresponse=awaitfetch(uri);letblob=awaitresponse.blob();如果想直接根据文件路径找到这个文......
  • ClickHouse的数据持久化与恢复机制
    简介ClickHouse是一个高性能的列式数据库,它的数据持久化和恢复机制是其重要的特性之一。本文将深入探讨ClickHouse的数据持久化与恢复机制。数据持久化ClickHouse的数据持久化是通过将数据写入磁盘来实现的。ClickHouse使用了一种称为MergeTree的存储引擎,它将数据按照时间戳分成......
  • ClickHouse数据缓存与性能优化技术实现最佳实践与案例
    前言ClickHouse是一款高性能的列式存储数据库,它的性能在处理海量数据时非常出色。但是,在实际应用中,我们还需要考虑如何进一步优化ClickHouse的性能,特别是在数据缓存方面。本文将深入探讨ClickHouse的数据缓存与性能优化技术实现最佳实践与案例。ClickHouse数据缓存ClickHouse的......
  • 'main' attribute cannot be used in a module that contains top-level code 问题解
    核心是@main注解在main.swift文件中,可以重新命名下参考资料https://stackoverflow.com/questions/73431031/swift-cli-app-main-attribute-cannot-be-used-in-a-module-that-contains-top-leve......
  • 10. (单选题)下面哪个Linux发行版不使用RPM软件包 • A. Fedora • B. OpenEuler • C
    10.(单选题)下面哪个Linux发行版不使用RPM软件包A.FedoraB.OpenEulerC.DebianD.OpenSUSE正确答案:(单选题)负责openEuler版本发布的组织是A.SC(SecurityCommittee)B.TC(TechnicalCommittee)C.理事会D.ReleaseManagementSIG正确答案:2.(单选题)openEuler社......