学习pytorch17 pytorch模型保存及加载

pytorch模型保存及加载

代码

import torch
import torchvisionvgg16 = torchvision.models.vgg16(pretrained=False)# 1. save model 1   保存模型结构及模型参数
torch.save(vgg16, './vgg16_save1.model')# 2. save model 2   只保存模型参数 比第一种保存方法保存的文件要小
torch.save(vgg16.state_dict(), './vgg16_save2.model')# 3. load model 1
vgg16_load1 = torch.load('./vgg16_save1.model')
print(vgg16_load1)  # 打印的是模型网络结构# 3. load model 2
vgg16_load2 = torch.load('./vgg16_save2.model')
print(vgg16_load2)  # 打印的是模型参数
# 将参数导入到网络
vgg16.load_state_dict(vgg16_load2)
print(vgg16)# 5. 保存模型方式1的陷阱
# 当用方法1导入模型的时候,模型结构是要已知的
from torch import nn
from torch.nn import Sequential, Conv2d, MaxPool2d, Flatten, Linear
# class MySeq2(nn.Module):
#     def __init__(self):
#         super(MySeq2, self).__init__()
#         self.model1 = Sequential(Conv2d(3, 32, kernel_size=5, stride=1, padding=2),
#                                  MaxPool2d(2),
#                                  Conv2d(32, 32, kernel_size=5, stride=1, padding=2),
#                                  MaxPool2d(2),
#                                  Conv2d(32, 64, kernel_size=5, stride=1, padding=2),
#                                  MaxPool2d(2),
#                                  Flatten(),
#                                  Linear(1024, 64),
#                                  Linear(64, 10)
#                                  )
#
#     def forward(self, x):
#         x = self.model1(x)
#         return x
# myseq2 = MySeq2()
# torch.save(myseq2, 'myseq_self.model')
# 当用方法1导入模型的时候,模型结构是要已知的 否则就会报下面的错误 可以在代码里重新定义 但一般都是写在另一个单独的文件里面 比如上面注释的模型结构是前面已经写在p19_nn_seq 文件里面的,执行了模型保存
# AttributeError: Can't get attribute 'MySeq2' on <module '__main__' from 'C:/工作文档/learn_pytorch/p23_save_load_model.py'>
from p19_nn_seq import *
myseq2 = torch.load('myseq_self.model')
print(myseq2)

执行结果

只打印模型参数
在这里插入图片描述
打印模型结构,在调试模式下 可以在feature–保护属性–models–0–weight下看到模型参数
在这里插入图片描述
自己写过的模型文件保存后加载
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/257802.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一文带你了解架构设计

关注微信公众号掌握更多技术动态 --------------------------------------------------------------- 一、架构简介 想做好架构设计&#xff0c;第一步是将一个 IT 系统从应用层级至底层基础设施&#xff0c;全部拆解为一个个应用模块&#xff0c;可以称之为“元素”或“组件”…

合合信息旗下启信宝与鹏城实验室达成数据托管合作,“AI靶场”让数据管理更精准

数字经济时代&#xff0c;数据已成为新型生产要素。通过“数据托管”等形式对数据进行集中管理&#xff0c;有助于保护数据主体权益&#xff0c;促进数据共享和运用效率&#xff0c;对数字经济的发展具有重要意义。近期&#xff0c;在深圳数据交易所&#xff08;简称“深数所”…

查看虚拟机的版本

1、查看虚拟机的版本 cat /etc/centos-release 2、开启防火墙 systemctl start firewalld 3、查看防火墙状态 firewall-cmd --state

微信收款商业版手续费多少,怎么降低?

今天&#xff0c;我将分享如何有效地降低日常中的收款手续费率。我们都知道&#xff0c;不管是微信支付还是支付宝&#xff0c;平台都会从中扣除一定的手续费。但你是否知道&#xff0c;其实手续费率是可以降低的呢&#xff1f;今天介绍如何申请最低手续费率为0.2%的方法&#…

YOLOv8独家原创改进:SPPF自研创新 | SPPF与感知大内核卷积UniRepLK结合,大kernel+非膨胀卷积提升感受野

💡💡💡本文自研创新改进:SPPF与感知大内核卷积UniRepLK结合,大kernel+非膨胀卷积,使SPPF增加大kernel,提升感受野,最终提升检测精度 收录 YOLOv8原创自研 https://blog.csdn.net/m0_63774211/category_12511737.html?spm=1001.2014.3001.5482 💡💡💡全网独…

uniapp 数组添加不重复元素

一、效果图 二、代码 //点击事件rightBtn(sub, index) {console.log(sub, index)//uniapp 数组添加不重复元素if (this.selectList.includes(sub.type)) {this.selectList this.selectList.filter((item) > {return item ! sub.type;});} else {this.selectList.push(sub.t…

Gitlab+GitlabRunner搭建CICD自动化流水线将应用部署上Kubernetes

文章目录 安装Gitlab服务器准备安装版本安装依赖和暴露端口安装Gitlab修改Gitlab配置文件访问Gitlab 安装Gitlab Runner服务器准备安装版本安装依赖安装Gitlab Runner安装打包工具安装docker安装java17安装maven 注册Gitlab Runner 搭建自动化部署准备SpringBoot项目添加一个Co…

【C/PTA —— 15.结构体2(课内实践)】

C/PTA —— 15.结构体2&#xff08;课内实践&#xff09; 7-1 计算职工工资7-2 计算平均成绩7-3 找出总分最高的学生7-4 通讯录的录入与显示 7-1 计算职工工资 #include<stdio.h> #include<stdlib.h> typedef struct GZ {char name[6];double j;double f;double z;…

netty源码:(1)NioEventLoopGroup

EventLoopGroup bossGroup new NioEventLoopGroup(); 不加参数创建NioEventLoopGroup的话&#xff0c;会使用cpu核数*2作为bossGroup的线程数。

Maven基础知识

Maven是一款用于管理和构建Java项目的工具 Maven的作用&#xff1a; 依赖管理&#xff1a;方便快捷的管理项目依赖的jar包&#xff0c;避免版本冲突问题统一项目结构&#xff1a;提供标准统一的项目结构项目构建&#xff1a;标准跨平台的自动化项目构建方式 maven创建的工程…

设备状态监测好帮手:无线温振传感器的应用

在现代工业生产中&#xff0c;设备状态监测对于确保设备的正常运行和预防故障至关重要。而无线温振传感器的出现为设备状态监测带来了全新的解决方案。本文将介绍无线温振传感器的工作原理和优势&#xff0c;并探讨其在设备状态监测中的广泛应用。 无线温振传感器是一种能够实时…

[java学习日记]反射、动态代理

目录 一.反射的简单解释与获取字节码文件对象 二.获取构造方法对象Constructor 三.反射获取字节码文件中的成员变量Field 四.反射获取字节码文件中的成员方法&#xff1a;Method 五.反射练习&#xff1a;保存信息 六.反射练习&#xff1a;利用配置文件&#xff08;存储类名…