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

pytorch升级打怪(八)

保存模型和加载已有模型

  • 保存并加载模型
    • 保存
    • 加载

保存并加载模型

在本节中,我们将研究如何通过保存、加载和运行模型预测来保持模型状态。

import torch
import torchvision.models as models

保存

PyTorch模型将学习的参数存储在内部状态字典中,称为state_dict。这些可以通过thetorchtorch.save方法持久化:

model = models.vgg16(weights='IMAGENET1K_V1')
torch.save(model.state_dict(), 'model_weights.pth')

加载

要加载模型权重,您需要先创建同一模型的实例,然后使用load_state_dict()方法加载参数。

model = models.vgg16() # we do not specify ``weights``, i.e. create untrained model
model.load_state_dict(torch.load('model_weights.pth'))
print(model.eval())```shell
VGG((features): Sequential((0): Conv2d(3, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))(1): ReLU(inplace=True)(2): Conv2d(64, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))(3): ReLU(inplace=True)(4): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)(5): Conv2d(64, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))(6): ReLU(inplace=True)(7): Conv2d(128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))(8): ReLU(inplace=True)(9): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)(10): Conv2d(128, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))(11): ReLU(inplace=True)(12): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))(13): ReLU(inplace=True)(14): Conv2d(256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))(15): ReLU(inplace=True)(16): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)(17): Conv2d(256, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))(18): ReLU(inplace=True)(19): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))(20): ReLU(inplace=True)(21): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))(22): ReLU(inplace=True)(23): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)(24): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))(25): ReLU(inplace=True)(26): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))(27): ReLU(inplace=True)(28): Conv2d(512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))(29): ReLU(inplace=True)(30): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False))(avgpool): AdaptiveAvgPool2d(output_size=(7, 7))(classifier): Sequential((0): Linear(in_features=25088, out_features=4096, bias=True)(1): ReLU(inplace=True)(2): Dropout(p=0.5, inplace=False)(3): Linear(in_features=4096, out_features=4096, bias=True)(4): ReLU(inplace=True)(5): Dropout(p=0.5, inplace=False)(6): Linear(in_features=4096, out_features=1000, bias=True))
)

相关文章:

  • 使用 Dify 和 AWS Bedrock 玩转 Anthropic Claude 3
  • 鸿蒙ArkTS实战开发-Native XComponent组件的使用
  • 机器学习 - 准备数据
  • 总结: HQL语句
  • 软考 系统架构设计师系列知识点之系统性能(1)
  • Hive自定义GenericUDF函数
  • 【AI生成文章】flutter ChangeNotifierProvider 实用场景举例
  • RIP,EIGRP,OSPF的区别
  • 医学预测变量筛选的几种方法(R语言版)
  • 2024年阿里云2核4G服务器价格30元、165元和199元1年
  • AI智能分析网关V4在养老院视频智能监控场景中的应用
  • File的学习2
  • ChatGPT无法登录,提示我们检测到可疑的登录行为?如何解决?
  • 南京大学AI考研,宣布改考408!
  • Visual Studio - 添加快捷键图标
  • [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
  • CentOS 7 修改主机名
  • ECMAScript入门(七)--Module语法
  • ES学习笔记(12)--Symbol
  • JavaScript-Array类型
  • magento2项目上线注意事项
  • Mithril.js 入门介绍
  • yii2权限控制rbac之rule详细讲解
  • 离散点最小(凸)包围边界查找
  • 容器服务kubernetes弹性伸缩高级用法
  • 深入浅出webpack学习(1)--核心概念
  • 使用 Docker 部署 Spring Boot项目
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • - 转 Ext2.0 form使用实例
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • 教程:使用iPhone相机和openCV来完成3D重建(第一部分) ...
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • ​TypeScript都不会用,也敢说会前端?
  • #if 1...#endif
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • (12)目标检测_SSD基于pytorch搭建代码
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (四)图像的%2线性拉伸
  • (转载)利用webkit抓取动态网页和链接
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • ./configure,make,make install的作用
  • .net Application的目录
  • .NET Core 和 .NET Framework 中的 MEF2
  • .Net IE10 _doPostBack 未定义
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
  • .net 微服务 服务保护 自动重试 Polly
  • .NET企业级应用架构设计系列之开场白
  • .net实现头像缩放截取功能 -----转载自accp教程网
  • .vue文件怎么使用_vue调试工具vue-devtools的安装
  • /proc/interrupts 和 /proc/stat 查看中断的情况
  • @Repository 注解
  • @RequestBody与@ResponseBody的使用