Python 基于pickle的 保存和加载训练后的模型

2023-11-06

  • pickle允许我们将Python保存为硬盘驱动器上的二进制文件。在pickle我们的对象后,可以结束我们的Python 对话 并在之后将对象在加载到Python中
  • pickle文件可以备份到云盘或者移动盘里或者拿来想给谁给谁
  • 警告!
  • 不要加载你不信任额pickle,防止他人向你的电脑注入危险的数据或者夺取你的密码
  • Pickle的协议特定于Python,因此没有跨语言兼容性

保存和加载一个scikit-learn模型

  • scikit指的是 scipy-toolkits---->science python toolkits 科学Python工具包
  • 我们以一个随机森林模型为例 

  • 加载库和数据 
from sklearn.ensemble import RandomForestClassifier
from sklearn import datasets
from sklearn.externals import joblib

iris = datasets.load_iris()
features = iris.data
target = iris.target
  • 警告
    • 对于0.22版本之后的sklearn,他已经删除了joblib,你需要从pip安装并import  
  •  创建分类树
classifer = RandomForestClassifier()
model = classifer.fit(features,target)
  • 保存
joblib.dump(model,"model.pkl")

  •  重新导入模型
classifier = joblib.load("model.pkl")
  • 评估观察数据
new_observations = [[2.2,2.2,1.1,2.2]]
>>> classifer.predict(new_observations)
array([0])


  • 在模型保存的时候最好加上模型所使用的scikit-learn版本
scikit_version = joblib.__version__
joblib.dump(model,"model_{version}.pkl".format(version=scikit_version))
  • 返回
['model_1.1.0.pkl']

pickle的用法

pickle接口

操作 串行化 反串行化
转换+文件操作 dump() load()
转换 dumps() loads()
  • 警告
  • loads() 和 dumps()处理的是字节流,并不是所有的字节流都可以被解析的

pickle的保存与读取

# -*- coding:utf8 -*-
import pickle

obj = 'write file using binary system'
print(obj)
#wb 写-二进制
f = open("./a.txt",'wb')
pickle.dump(obj,f)
f.close()

#rb 读-二进制
f = open("./a.txt",'rb')
print(pickle.load(f))
f.close()

输出

write file using binary system
write file using binary system

a.txt中的内容

  • 显然是有些不太方便你阅读
  • 但是你又肯定能看出来的
€?       ?write file using binary system?

pkl文件

  • 常用于保存神经网络模型的数据
  • 博主现在很少用上这玩意
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 基于pickle的 保存和加载训练后的模型 的相关文章

  • Ble Mesh的Heatbeat(心跳)&地址&Model(模型)

    心跳 将节点配置为定期发送称为心跳消息的消息 Heartbeat 消息的目的 1 表示该节点仍然处于活动状态 2 允许根据传递 Heartbeat 消息所需的跳数确定其与接收者的距离 Heartbaeat的opcode 和Friend re
  • 软件项目管理 3.5.敏捷生存期模型

    前言 大家好 这节我们学习敏捷模型 前面介绍的几种生存期模型在实际应用过程中遇到的一些挑战 有时不能很好地适应需求的快速变化 为此软件界比较流行敏捷生命期模型 一 敏捷模型 敏捷宣言 价值观 原则 和通用实践之间的关系 敏捷模型符合敏捷宣言
  • 隐私计算FATE-----离线预测

    一 说明 Fate 的模型预测有 离线预测 和 在线预测 两种方式 两者的效果是一样的 主要是使用方式 适用场景 高可用 性能等方面有很大差别 本文分享使用 Fate 基于 纵向逻辑回归 算法训练出来的模型进行离线预测实践 基于上文 隐私计
  • Google BBR拥塞控制算法背后的数学解释

    杭州待了一段时间 回到深圳过国庆假期 无奈温州皮鞋 厂老板过节要回温州和上海 不在深圳 也就没有见着 非常遗憾 国庆节当天 就写这个了 经理不会弹琴 但是经理会弹琴 我原本可能会在想国庆节的凌晨到大清早写点什么呢 现在不用想了 就写BBR拥
  • [YOLO专题-21]:YOLO V5 - ultralytics代码解析-网络配置文件与总体结构

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 122369147 目录 第1章 YOL
  • 如何在Blender中压缩/减小GLTF模型的大小

    GLTF 如何在Blender中压缩 减小GLTF模型的大小 Blender是一款功能强大的开源软件 旨在创建3D图形 动画和视觉效果 它支持多种文件格式的导入和导出 包括GLB GLTF DAE OBJ ABC USD BVH PLY S
  • ❤️如何用Python绘制一个飞机模型??

    VTK在Java Tcl Python中都有接口 本文介绍VTK在Python中的接口 VTK The Visualization Toolkit 是一款用于计算机3D成像 构建模型 图像处理 容积渲染 科学数据可视化等方面的免费软件系统
  • 为什么有的人把代码写的如此复杂?

    技术群里有人发了一段代码 附言 兄弟们 这个单例怎么样 我回复 什么鬼 看不懂啊 也有其他小伙伴表示看不懂 看来大家的C 基础和我一样并不全面 我看不懂 主要是因为我没用过TaskCompletionSource和Interlocked的C
  • 数学建模常用模型和算法介绍

    这里总结了一些数学建模的常用模型和算法 我们给出了相应的模型 算法 描述 相关内容的网页链接 部分模型 算法 给出了全国大学生数学建模竞赛中使用该模型 算法 的优秀论文的例子 模型和算法汇总目录 常见模型 微分方程模型 元胞自动机模型 动态
  • 【计算机网络】OSI参考模型与TCP/IP分层模型对比(体系结构对比)

    笔记整理 协议 简单来说 协议就是计算机与计算机之间通过网络实现通信时事先达成的一种 约定 这种约定使得那些由不同厂商的设备 不同的操作系统组成的计算机之间 只要遵循相同的协议就能够实现通信 就好比两个人使用不同国家的语言就行对话 是无法相
  • 判断密码是否包含键盘连续字母

    新增内容为增加键盘列排序检测 原理 用两个与传入密码长度相等的一维数组 Row行数组 Column列数组 按密码顺序在二维键盘数组中查找每个字符 找到了则用 一维行列数组分别存放密码中每个字符的行号和列号 然后循环分析行号和列号是否满足二维
  • Python 基于pickle的 保存和加载训练后的模型

    pickle允许我们将Python保存为硬盘驱动器上的二进制文件 在pickle我们的对象后 可以结束我们的Python 对话 并在之后将对象在加载到Python中 pickle文件可以备份到云盘或者移动盘里或者拿来想给谁给谁 警告 不要加
  • 运维体系框架标准化模型简介

    为什么要做标准化 标准化的过程实际上就是对运维对象的识别和建模过程 形成统一的对象模型后 各方在统一的认识下展开有效协作 然后针对不同的运维对象 再抽取出它们所对应的运维场景 接下来才是运维场景的自动化实现 这有点像我们学的面向对象编程的思
  • unity狼模型、山谷模型

    unity狼模型 山谷模型 模型如下图 下载链接在文末 点我下载资源 https download csdn net download weixin 43474701 60362226
  • 基于Prompt的MLM文本分类

    简介 常规NLP做文本分类时常用Transfer Learning的方式 在预训练bert上加一个分类层 哪个输出节点概率最大则划分到哪一类别 而基于Prompt的MLM文本分类是将文本分类任务转化为MLM Masked Language
  • 如何保证token的安全

    接口的安全性主要围绕token timestamp和sign三个机制展开设计 保证接口的数据不会被篡改和重复调用 下面具体来看 Token授权机制 用户使用用户名密码登录后服务器给客户端返回一个Token 通常是UUID 并将Token U
  • 电容的频率特性曲线

    电容的频率特性曲线 电容 电容 Capacitance 亦称作 电容量 是指在给定电位差下的电荷储藏量 记为C 国际单位是法拉 F 一般来说 电荷在电场中会受力而移动 当导体之间有了介质 则阻碍了电荷移动而使得电荷累积在导体上 造成电荷的累
  • 管好【SD-WEBUI】中大量的模型:名称+预览图+备注+分组管理

    文章目录 零 前言 一 模型管理 1 1 模型名称 文件名 1 2 模型缩略图 1 3 模型备注文字 1 4 模型分组 子目录 1 5 模型详细信息 二 第二部分 三 第三部分 零 前言 本篇主要讲怎么管理大量的模型 比如模型不要大幅改名
  • pytorch低版本环境加载高版本(1.6+)模型报错(xxx is a zip archive (did you mean to use torch.jit.load()?))

    问题描述 transformers 4 0 版本训练出来的模型 在3 0的Model from pretrained中加载会报错 pytorch model bin is a zip archive did you mean to use
  • Tensorflow2.0 tf.keras.Model.load_weights() 报错处理

    错误描述 保存模型 model save weights model h5 脚本重启 加载模型 model load weights model h5 模型报错 ValueError You are trying to load a wei

随机推荐

  • STM32的IAP在线升级

    IAP简介 简介部分copy自正点原子 IAP In Application Programming 即在应用编程 IAP 是用户自己的程序在运行过程中对User Flash 的部分区域进行烧写 目的是为了在产品发布后可以方便地通过预留的通
  • redhat 6.4安装oracle11g RAC (三)

    为数据和快速恢复去创建ASM磁盘组 只在节点rac1执行即可 进入grid用户下 grid rac1 grid srvctl status asm a ASM is running on rac2 rac1 ASM is enabled g
  • 快速浮点开方运算

    二分法 浮点开方也就是给定一个浮点数x 求根号x 这个简单的问题有很多解 我们从最简单最容易想到的二分开始讲起 利用二分进行开平方的思想很简单 就是假定中值为最终解 假定下限为0 上限为x 然后求中值 然后比较中值的平方和x的大小 并根据大
  • FISCO BCOS(二十)——— FISCO BCOS多群组搭建

    1 创建文件夹 创建目录 root wyg virtual machine mkdir fisco 2 创建配置文件 root wyg virtual machine fisco vim ipconf 3 建链 root wyg virtu
  • 【C++】封装的详细介绍

    目录 1 封装的意义 2 struct和class的区别 3 成员属性设置为私有 1 封装的意义 封装是C 面向对象的三大特性之一 封装的意义 1 将属性和行为作为一个整体 表现生活中的事物 2 将属性和行为加以权限控制 public公共权
  • CTFshow-pwn入门-栈溢出pwn49(静态链接pwn-mprotect函数的应用)

    pwn49 首先我们先将pwn文件下载下来 然后赋上可执行权限 再来查看pwn文件的保护信息 chomd x pwn checksec pwn file pwn 我们可以看到这是一个32位的pwn文件 并且保护信息开启了NX和canary
  • idea运行SSM项目及启动(tomcat),详细图解

    1 导入进项目 配置maven 2 配置本地的tomcat 3 选择本地的Tomcat Server 选择Local 点击create 4 tomcat路径配置 名称配置 端口及访问配置 5 项目war包配置生成 进入项目配置 1 进入Ar
  • Vuebnb:一个用vue.js和Laravel构建的全栈应用

    今年我一直在写一本新书叫全栈Vue网站开发 Vue js Vuex和Laravel 它会在Packt出版社在2018年初出版 这本书是围绕着一个案例研究项目 Vuebnb 简单克隆Airbnb 在这篇文章中 我会把它如何工作做一个高层次的概
  • 机器学习 day22(ReLU激活函数,激活函数的种类,如何选择激活函数)

    1 ReLU激活函数 当问题的结果是二元的 则a的范围是 0 1 激活函数g z 可以用sigmoid激活函数 如果问题的结果是无穷多个 如让a的范围取 0 激活函数g z 可以选用ReLU激活函数 他在z 0时取0 在z 0时取z 2 常
  • CDN服务技术架构图

    为什么80 的码农都做不了架构师 gt gt gt 前言 在博文中 解读大型网站的演变过程 浅谈 举家搬迁静态文件到CDN 博文中都有涉及CDN 这次我们来详细讲解下CDN的架构 简介 CDN是构建在网络之上的内容分发网络 依靠部署在各地的
  • linux搭建ftp修改域名访问,linux下构建建设完美FTP服务器

    关键字 ubuntu linux Apache2 PHP5 Pure FTPD pureftpd MySQL5 linux下构建建设完美FTP服务器 可管理 WEB管理 管理界面 一 安装Ubuntu5 Desktop版 来源博客 url
  • 对遗留系统组织重构项目

    很多IT组织都面临一个难题 老系统的维护 升级越来越难做 特别是那些价值高 生命周期长 规模大的核心业务系统 越到后来 要修复一个缺陷或者新增一个功能就需要越大的工作量 这是为什么呢 软 件的质量体现在两方面 商业方面的质量 以及技术方面的
  • 线性链表和顺序表的基本操作

    线性链表和顺序表的基本操作 一 实验目的 线掌握线性表的逻辑特性以及在计算机内的两种存储结构 线性链表和顺序表存储结构下基本操作的实现 会灵活应用线性表结构解决某些实际问题 二 实验内容 1 线性表顺序存储结下的基本操作的实现 初始化 赋值
  • 【2022年研究生科研素养提升系列公益讲座】课程笔记2——一些有用的数据库和科研工具

  • mobx基本使用

    mobx是一个简单可扩展的状态管理库 基本概念 state 状态 状态是驱动应用的数据 像有数据的excel表格 2 derivations 衍生 任何源自状态并且不会再进一步相互作用的东西 比如用户界面 待办事件的数量 把变化发送到服务端
  • c语言利用公式sin x=,用泰勒公式求sin(x)的近似值

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 include include define PI 3 1415927 double FACT double x double fact int n int main int n i k fla
  • java小笔记,List实体类对象的去重

    java小笔记 List实体类对象的去重 去除重复的数据 ArrayList lt 实体类 gt collect orderPOList stream collect Collectors collectingAndThen Collect
  • MySQL中的DDL操作,MySQL中DML操作,MySQL查询数据,SQL函数,MySQL中的索引,MySQL事务,MySQL的用户管理,MySQL分页查询

    目录 MySQL中的DDL操作 一 创建表与删除表 1 创建表 2 查看已创建的表 3 删除表 二 修改表 1 修改表名 2 修改列名 3 修改列类型 4 添加新列 5 删除指定列 三 MySQL的约束 1 修改表添加主键约束 2 删除主键
  • 记录电脑弹垃圾广告的处理方案

    今天电脑突然弹出了垃圾广告 作为一个看不得广告弹窗的人 务必把他扼杀了 他要获取广告信息可能会用到网络 这是一种思路 不同程序运行方式不一样 弹出广告后 打开任务管理器 资源监视器 可以看到有一个可以程序 通过 Wox 查找定位到程序存储路
  • Python 基于pickle的 保存和加载训练后的模型

    pickle允许我们将Python保存为硬盘驱动器上的二进制文件 在pickle我们的对象后 可以结束我们的Python 对话 并在之后将对象在加载到Python中 pickle文件可以备份到云盘或者移动盘里或者拿来想给谁给谁 警告 不要加