码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【pytorch】模型的保存与加载|| Dataloader数据加载器


    Pytorch模型保存与加载,并在加载的模型基础上继续训练

    系统学习Pytorch笔记三:Pytorch数据读取机制(DataLoader)与图像预处理模块(transforms)

    一、只保存参数

    1. 保存

    一般地,采用一条语句即可保存参数:

    torch.save(model.state_dict(), path)
    
    • 1

    其中model指定义的模型实例变量,如 model=vgg16( ), path是保存参数的路径,如 path=‘./model.pth’ , path=‘./model.tar’, path=‘./model.pkl’, 保存参数的文件一定要有后缀扩展名。

    特别地,如果还想保存某一次训练采用的优化器、epochs等信息,可将这些信息组合起来构成一个字典,然后将字典保存起来:

    state = {'model': model.state_dict(), 'optimizer': optimizer.state_dict(), 'epoch': epoch}
    torch.save(state, path)
    
    • 1
    • 2

    2. 加载
    针对上述第一种情况,也只需要一句即可加载模型:

    model.load_state_dict(torch.load(path))
    
    • 1

    针对上述第二种以字典形式保存的方法,加载方式如下:

    checkpoint = torch.load(path)  # load model
    model.load_state_dict(checkpoint['model'])   # load parameters
    optimizer.load_state_dict(checkpoint['optimizer'])    # load optimizer
    epoch = checkpoint(['epoch'])           # load epoch for training continue
    
    • 1
    • 2
    • 3
    • 4

    二、保存整个模型

    1. 保存

    torch.save(model, path)
    
    • 1

    2. 加载

    model = torch.load(path)
    
    • 1

    三、在训练中pytorch通过Dataloader加载数据

    torch.utils.data.DataLoader(): 构建可迭代的数据装载器, 我们在训练的时候,每一个for循环,每一次iteration,就是从DataLoader中获取一个batch_size大小的数据的。

    例如:

    train_loader = torch.utils.data.DataLoader(dataset, batch_size=batch_size, shuffle=True)
    
    • 1

    在这里插入图片描述

  • 相关阅读:
    Django与Ajax
    基于SpringBoot+thymeleaf的物资管理系统
    abap字段符号(指针)的用法:FIELD-SYMBOLS
    【安卓开发】安卓按键响应
    webpack简单配置(基于vue3配置)
    一款开源&轻量的自动化运维平台
    在centos7上使用 docker安装mongodb挂载宿主机以及创建其数据库的用户名和密码(最新版本)
    工具篇 | 07 | maven
    element-table出现错位解决方法
    面试算法38:每日温度
  • 原文地址:https://blog.csdn.net/weixin_44708254/article/details/133741418
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号