PyTorch介绍-保存和加载模型

本节我们将会看到如何保存模型状态、加载和运行模型预测

import torch
import torchvision.models as models

保存和加载模型权重

PyTorch模型在一个称为 state_dict 的内部状态字典内保存了学习的参数,可以通过 torch.save实现这一过程。

model = models.vgg16(pretrained=True)
torch.save(model.state_dict(), 'model_weights.pth')

为了加载模型参数,你需要首先创建一个相同模型的实体,然后使用 load_state_dict()加载参数。

model = models.vgg16() # we do not specify pretrained=True, i.e. do not load default weights
model.load_state_dict(torch.load('model_weights.pth'))
model.eval()

注意:在推理前,确保调用 model.eval() 设置dropout和batch normalization层是评估模式,否则将产生不一致的推断结果。

使用Shapes保存和加载模型

当加载模型权重时,我们需要首先初始化模型类,因为该类定义了网络结构。我们可能想将模型权重和该类的结构保存在一起,在这种情况下,可以将 model (而不是 model.state_dict())传入保存函数。

torch.save(model, 'model.pth')
model = torch.load('model.pth')

注意:这种方法在序列化模型时使用Python pickle模块,因此,它依赖于加载模型时可用的实际类的定义。

相关教程

Original: https://www.cnblogs.com/DeepRS/p/15761375.html
Author: Deep_RS
Title: PyTorch介绍-保存和加载模型

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/609928/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 6.18(反射和注解—>反射机制的作用)

    反射 获取Class对象三种方式第一种方式:类.class第二种方式:对象.getClass()第三种方式:Class.forName 在&#x4E0…

    Linux 2023年6月7日
    0120
  • 4.7 Linux压缩文件或目录中文件为.bz2格式(bzip2命令)

    bzip2 命令同 gzip 命令类似,只能对文件进行压缩(或解压缩),对于目录只能压缩(或解压缩)该目录及子目录下的所有文件。当执行压缩任务完成后,会生成一个以”.b…

    Linux 2023年6月7日
    0116
  • 安卓逆向从0到1学习总结

    PS:该文已经首发于公众号信安之路!!! 初识安卓逆向是在2019年的暑假,到现在也快一年了,这一年来有刚从web渗透转来的迷茫,有成功破解了第一个app的喜悦,也有通宵熬夜逆向的…

    Linux 2023年6月8日
    0117
  • Linux命令之find、grep、echo、tar、whoami、uname

    1. whoami–查看当前登录的用户名 book@100ask:~/linux$ whoami book 2. echo–打印命令,配合’&g…

    Linux 2023年6月6日
    0101
  • Redis 集群

    三高架构:并发,性能,可用 主从复制 主从复制:将 master 中的数据即时、有效的复制到 slave 中 特征:一个 master 可以拥有多个 slave,一个 slave …

    Linux 2023年5月28日
    0107
  • python爬虫配置随机请求头headers伪装User-Agent

    fake_useragent 库 调用方法 ua.random可以随机返回一个headers(User-Agent) from fake_useragent import User…

    Linux 2023年6月14日
    089
  • MVC(二)

    通过前一篇文章,我们对MVC有了一定的了解。 三、MVC能做什么 网站——服务器返回页面——实际上就是一段文本(response header+html)。 实际上mvc的acti…

    Linux 2023年6月13日
    0107
  • 2-第一个Django程序

    第一个Django程序 从本章节开始将通过实现一个投票应用程序,来让用户逐步的了解Django。这个程序由两步分组成: 公共站点,允许用户访问进行投票,和查看投票。 站点管理,允许…

    Linux 2023年6月7日
    0112
  • 性能测试 CPU利用率低 响应时间长的瓶颈分析

    压测中Vuser增加,TPS上不去,意味着Response Time在增加,需要找出响应时间增加的原因: 1、网络带宽 在压力测试中,有时候要模拟大量的用户请求,如果单位时间内传递…

    Linux 2023年6月8日
    065
  • 解决Docker容器iptables不能用

    最近使用frp做跳板远程运维内网的服务器,尽管已经屏蔽了海外IP对vps服务器的访问,但是总觉得直接暴露远程管理的端口在互联网上还是不安全。于是想着用Ocserv做服务端先vpn拨…

    Linux 2023年5月27日
    0102
  • 使用并发 ssh 连接来提升捞日志脚本执行效率

    问题背景 公司有简单粗略的日志服务,部署在多台机器实例上,采集的日志记录在每台机器的本地硬盘上,写一小时后日志文件自动切换,硬盘空间自动回滚。大约可以保存两三天的历史数据。为什么会…

    Linux 2023年5月27日
    072
  • .NET使用StackExchange.Redis

    csharp;gutter:true; using StackExchange.Redis; using System; using System.Collections.Gene…

    Linux 2023年5月28日
    095
  • Redis 全局通用命令整理

    转载请注明出处: 1.查看所有键 该命令会存在线程阻塞问题,keys 命令也可以通过正则匹配获取存在的缓存数据 Redis从2.8版本后,提供了一个新的命令scan,它能有效的解决…

    Linux 2023年5月28日
    095
  • UE4编辑器使用PS4/NS PRO手柄

    在Steam里,点击添加非Steam游戏,把Unreal Engine添加进去,进大屏幕模式,设置手柄配置为强制开启即可! 网上看到各种教程,都太复杂了………

    Linux 2023年6月6日
    0120
  • 误删除系列三:记一次有道笔记数据恢复过程

    1. 环境: 三个有道云笔记客户端分别是 windows7、iphone、MAC 2. 事件发生过程: 今天早上在win7的有道云笔记下记录一些笔记时,出现误删除操作,当时我使用的…

    Linux 2023年6月7日
    095
  • Redis中bitmap的妙用

    bitmap的使用场景使用场景一:用户签到使用场景二:统计活跃用户使用场景三:用户在线状态 Original: https://www.cnblogs.com/linjiqin/p…

    Linux 2023年5月28日
    0100
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球