.ckpt模型文件

tensorflow框架下保存的模型,包含以下几个子文件:

  • model.ckpt.meta :保存Tensorflow计算图结构,可以理解为神经网络的网络结构
  • model.ckpt :保存Tensorflow程序中每一个变量的取值,变量是模型中可训练的部分
  • checkpoint :保存一个目录下所有模型文件列表

.pb 模型文件

pb是protocol buffer的缩写。TensorFlow训练模型后存成的pb文件,是一种表示模型(神经网络)结构的二进制文件,不带有源代码,也一般无法映射成源代码。这就有点像C 语言编译产生的机器码一般无法映射回源代码一样。

tensorflow可以通过graph_util.convert_variables_to_constants函数将sess graph转换为frozen graph保存pb文件形式。

.tflite模型文件

tflite是谷歌自己的一个轻量级推理库,主要用于移动端AI模型部署。

TFLite提供一系列针对移动平台的核心算子,包括量化和浮点运算。TFLite是基于FlatBuffers定义了一种新的模型文件格式。FlatBuffers类似于protocol buffers, FlatBuffers在访问数据之前不需要进行解析/解包步骤,通常与每个对象的内存分配相结合。而且,FlatBuffers的代码占用空间比protocol buffers小一个量级。

.hdf5模型文件

基于tf.keras框架保存的模型文件存储格式。

HDF5 文件一般以 .h5 或者 .hdf5 作为后缀名,需要专门的软件才能打开预览文件的内容。HDF5 文件结构中有 2 个主要对象: Groups 和 Datasets

  • Groups 就类似于文件夹,每个 HDF5 文件其实就是根目录 (root) group'/'
  • Datasets 类似于 NumPy 中的数组 array 。

每个 dataset 可以分成两部分: 原始数据 (raw) data values 和 元数据 metadata (a set of data that describes and gives information about other data => raw data)。

.onnx模型文件

ONNX是一种针对机器学习所设计的开放式的文件格式,用于存储训练好的模型。它使得不同的深度学习框架(如Pytorch, MXNet)可以采用相同格式存储模型数据。简而言之,ONNX是一种便于在各个主流深度学习框架中迁移模型的中间表达格式。

ONNX使用protobuf序列化AI模型,顶层是一个模型(Model)结构,主要由关联的元数据和一个图(Graph)组成;图由元数据、模型参数、输入输出、和计算节点(Node)序列组成,这些节点构成了一个计算无环图,每一个计算节点代表了一次操作符的调用,主要由节点名称、操作符、输入列表、输出列表和属性列表组成,属性列表主要记录了一些运行时常量,比如模型训练时生成的系数值。

ONNX模型解析流程:

读取.onnx文件,获得model结构;
通过model结构访问graph结构;
通过graph访问整个网络的所有node以及inputs、outputs;
通过node结构,可以获取每一个OP的参数信息。
其中,graph结构中还定义了initializer和value_info,分别存放了模型的权重参数和每个节点的输出信息。

AI模型各种存储格式文件介绍(pb, onnx, ckpt, tflite, h5)相关推荐

  1. 将训练好的pytorch模型的pth文件转换成onnx模型(亲测成功)

    将训练好的pytorch模型的pth文件转换成onnx模型(亲测成功) 模型转换 声明:本文原创,未经许可严禁转载,原文地址https://blog.csdn.net/hutao1030813002/ ...

  2. ONNX系列六 --- 在Java中使用可移植的ONNX AI模型

    目录 安装和导入ONNX运行时 载入ONNX模型 使用ONNX运行时进行预测 摘要和后续步骤 参考文献 下载源547.1 KB 系列文章列表如下: ONNX系列一 --- 带有ONNX的便携式神经网络 ...

  3. ONNX系列五 --- 在C#中使用可移植的ONNX AI模型

    目录 安装和导入ONNX运行时 载入ONNX模型 使用ONNX运行时进行预测 摘要和后续步骤 参考文献 下载源547.1 KB 系列文章列表如下: ONNX系列一 --- 带有ONNX的便携式神经网络 ...

  4. ONNX系列三 --- 使用ONNX使PyTorch AI模型可移植

    目录 PyTorch简介 导入转换器 快速浏览模型 将PyTorch模型转换为ONNX 摘要和后续步骤 参考文献 下载源547.1 KB 系列文章列表如下: ONNX系列一 --- 带有ONNX的便携 ...

  5. ONNX系列七 --- 在Python中使用可移植的ONNX AI模型

    目录 安装和导入ONNX运行时 载入ONNX模型 使用ONNX运行时进行预测 摘要和后续步骤 参考文献 下载源547.1 KB 系列文章列表如下: ONNX系列一 --- 带有ONNX的便携式神经网络 ...

  6. 将训练好的模型转化为pb文件及pb应用

    1.相关资料 tensorflow的ckpt文件总结 1.TensorFlow的模型文件 --checkpoint_dir | |--checkpoint | |--MyModel.meta | |- ...

  7. Opencascade源码学习之模型算法_TKO模块文件介绍

    Opencascade源码学习之模型数据_TKO模块文件介绍 1.TKO 1.BOPAlgo 2.BOPDS 3.BOPTools 4.BRepAlgoAPI 5.IntTools 1.TKO 1.B ...

  8. Opencascade源码学习之模型数据——TKGeomBase模块文件介绍

    Opencascade源码学习之模型数据--TKGeomBase模块文件介绍 1.AdvApp2Var 2.AppCont 3.AppDef 4.AppParCurves 5.Approx 6.Bnd ...

  9. 探讨TensorRT加速AI模型的简易方案 — 以图像超分为例

    AI模型近年来被广泛应用于图像.视频处理,并在超分.降噪.插帧等应用中展现了良好的效果.但由于图像AI模型的计算量大,即便部署在GPU上,有时仍达不到理想的运行速度.为此,NVIDIA推出了Tenso ...

最新文章

  1. js检测、控制表单输入必须为中文
  2. Java 集合中的方法性能分析
  3. 重构项目之一:大图展示
  4. gogs mysql 报错_docker上对gogs二次开发
  5. HBTS(HBOI) 2019 真实退役记
  6. 数据库-排序-升降序-多列
  7. 【文末赠书】牛顿:伸向未知量的利爪
  8. 手机壁纸图片源码自动采集美图网
  9. 达飞控股不断践行新时代企业责任
  10. 【提高组NOIP2007】矩阵取数游戏
  11. 办公一定要有哪些基础软件?
  12. 关于钢琴学习的若干问题的混蛋解答 【2014/1/29更新,未完待续…………】
  13. 2022读书感第一篇《小王子》
  14. 就这?阿里p6的面试竟然这么简单
  15. mui中拨打电话有两种方式:
  16. 微信开发安卓虚拟键盘挡住输入框的问题
  17. SaaSpace:9种最好的免费幻灯片制作工具
  18. 执行service iptables status时报错
  19. MTK资料:在MT6735平台上如何调试SII9024A
  20. jQuery第四天案例

热门文章

  1. Android安全防护
  2. html代码循环播放音频
  3. cnn卷积神经网络手写体识别keras和tensorflow
  4. python 显示界片_在shapefile(Python)中查找面片子集的贴图边界
  5. 从 C++ 定义 QML 类型
  6. 多个平台的 Java Launcher 脚本
  7. vip_goup pro_ solv_idea
  8. javascript SHA1加密
  9. 2006社区风云榜MVB评选活动
  10. EasyUI之treegrid学习