Torch模型打包(七)

目录

前言

模型打包

torch.save

 torch.load

结果测试


前言

可以看到,在之前的编码中,每次运行都是重新走完一遍训练流程然后再进行测试输出结果

见下图:

 每次都要执行10个循环的训练其实这就可以看成10个epoch

这显然是非常麻烦的

所以我们就要将模型打包进行操作来规避每次的重新训练

模型打包

常用的是只保存 网络参数

每次都实例化网络然后传入参数即可

首先看一下文档

主页 - PyTorch中文文档

torch.save

这个方法可以将网络参数序列化到本地

 实际上就是直接保存实例化网络就行(然后可以传入相应参数来选择保存模型或是只保存参数)

注意:只要在循环或者epoch后保存模型就行(本质上就是保存的参数,每次循环或者epoch后都会更新参数)

#保存网络
torch.save(cnn.state_dict(),'cnn.pth')

 然后运行

 

此时是多出了一个pth的权重文件 

 torch.load

有了pth之后就要使用加载

 所谓加载就是可以不需要训练过程

只需要实例化一个网络然后传入保存的pth参数即可

cnn.load_state_dict(torch.load('cnn.pth'))

这里可以看到,用实例化的网络调用load_state_dict方法

然后用torch.load反序列化读取传入之前训练好的参数

(注释掉所有训练过程(和参数更新有关的所有过程))完整如下:

 然后运行

和之前结果是一样的

实际上就是传入参数

然后给传入参数后的网络一个输入

然后网络输出

得到结果

 

结果测试

首先是数据集搭建要满足项目要求

这个项目中实际上就是对拍摄到的每个车牌字符和对应的人为设置的label

传入网络训练

得到输出的结果(图片字符是什么)比如说图片苏经过网络输出苏

然后再对一整张完整图片进行识别,识别出每个字符

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值