当前位置: 首页 > news >正文

Pytorch学习笔记(八)Learn the Basics - Save and Load the Model

这篇博客瞄准的是 pytorch 官方教程中 Learn the Basics 章节的 Save and Load the Model 部分。

  • 官网链接:https://pytorch.org/tutorials/beginner/basics/saveloadrun_tutorial.html
完整网盘链接: https://pan.baidu.com/s/1L9PVZ-KRDGVER-AJnXOvlQ?pwd=aa2m 提取码: aa2m 

Save and Load the Model

这部分主要介绍如何通过保存、加载和运行模型预测来持久化模型状态。


Step1. 导入依赖包

import torch
import torchvision.models as models

Step2. 保存与加载模型参数

  1. 保存权重:PyTorch 模型将学习到的参数存储在名为 state_dict 的内部状态 dict 对象中。这些参数可以通过 torch.save 方法保存;
  2. 加载权重:需要先创建 相同的模型 实例,然后使用 load_state_dict() 方法加载参数,通常情况下设置 weights_only=True 加载最不容易出错;
  • 保存模型参数【这一步之行后会先下载 IMAGENET1K_V1 权重】:
model = models.vgg16(weights="IMAGENET1K_V1")
torch.save(model.state_dict(), "model_weights.pth")
  • 加载模型参数:
model = models.vgg16()
model.load_state_dict(torch.load("model_weights.pth", weights_only=True))
model.eval()

Step3. 保存与加载完整模型

上面的模型保存与加载方式只限于对模型 参数 的操作,并不会将整个模型结构保存下来,使用下面的方式可以连同模型结构一起保存。

  • 保存模型参数 + 结构:
torch.save(model, "model.pth")
  • 加载模型参数 + 结构
model = torch.load("model.pth", weights_only=False)

在这里插入图片描述

相关文章:

  • Vue 中异步数据加载与方法调用顺序问题:`await` 的正确使用
  • 前端批量导入方式
  • 【深度学习的数学】导数
  • 【Java】抽象类和接口
  • vue3中ref和reactive的差异分析
  • C++中的异常和智能指针
  • 基础图表(一)
  • ClickHouse与TiDB实操对比:从入门到实战的深度剖析
  • vue遗漏的知识点(动态组件.)
  • Vue.js 和 Vue 3 全面详解指南
  • Open CASCADE学习|小球沿样条曲线运动
  • MP4音视频格式
  • 中间件漏洞-Tomcat篇
  • 架构思维:如何设计一个支持海量数据存储的高扩展性架构_数据分片、存储、复制与一致性的原理性问题
  • 数据库第二周作业
  • (UI自动化测试web端)第三篇:元素的常用操作方法_元素操作
  • JavaScript 对事件的反应机制
  • js实现判断图片宽度高度不超过容器宽高度,刚好在容器中显示完
  • FreeRTOS学习(十):任务调度器挂起与恢复机制详解
  • mysql中的聚簇索引,什么是聚簇索引和非聚簇索引
  • 科普|“小石头,大麻烦”,出现输尿管结石如何应对?
  • 苏迪曼杯八强战,中国队横扫马来西亚队晋级四强
  • 长江财险一季度净亏1449.81万元,去年曾实现扭亏为盈
  • 微软上财季净利增长18%:云业务增速环比提高,业绩指引高于预期
  • 女冰队长于柏巍,拒绝被年龄定义
  • 秦洪看盘|资金切换主线,重构市场风格