当前位置: 首页 > news >正文

关于模型结构与参数的文件类型及运行设备

.ckpt

广泛用于 PyTorch、TensorFlow(早期版本)及MindSpore的模型 checkpoint 文件。主要保存模型的权重参数、优化器状态、训练配置等,支持训练中断后恢复、模型微调或后续导出为部署格式(如 MindSpore 可将.ckpt 转为 ONNX、AIR 等)。

.ONNX

(Open Neural Network Exchange)开放神经网络交换格式,由多机构联合推出,用于跨框架模型互转(如 PyTorch、TensorFlow、MindSpore、MXNet 等),是模型部署的中间标准格式,便于在不同推理引擎(如 ONNX Runtime)中部署。

.GEIR

非通用标准格式,推测与特定国产 AI 框架或工具链(如昇腾相关)的模型中间表示有关,用于模型转换或优化过程中的临时存储。

.om

华为昇腾(Ascend)芯片的专用部署格式,由昇腾模型转换工具(ATC)将 ONNX、Caffe、MindSpore 的 AIR 等格式转换而来,针对昇腾 NPU 硬件优化,用于高效推理。

这是华为Ascend AI处理器支持的离线模型格式。

.prototxt + .caffemodel

Caffe 框架的配套文件:

.prototxt:定义网络结构(层配置、输入输出等,分训练和部署版本);这是Caffe模型文件的格式。

.caffemodel:保存训练好的权重参数,需与对应的.prototxt 配合加载模型。这是Caffe模型文件的格式。

.pb

(Protocol Buffer)Google 的序列化格式,在 TensorFlow 中常用于保存冻结模型(包含结构和权重),直接用于部署;此外,MindSpore 也支持将模型导出为.pb 格式(兼容 TensorFlow Lite),便于跨平台推理。

这是TensorFlow模型文件的格式。

MindSpore 特有的其他格式

.air:MindSpore 的专有中间格式,包含网络结构和权重,可作为向昇腾 OM、TensorRT 引擎等格式转换的中间载体;

.mindir:MindSpore 定义的统一模型表示格式,支持动态图和静态图模型的存储,用于模型的跨平台部署和迁移。

直接使用checkpiont文件进行推理,即在MindSpore训练环境下,使用推理接口加载数据及checkpoint文件进行推理。

将checkpiont文件转化为通用的模型格式[如ONNX、GEIR格式]文件进行推理,推理环境不需要依赖MindSpore。这样做的好处是可以跨硬件平台,只要在支持ONNX/GEIR推理的硬件平台上即可进行推理。譬如在Ascend 910 AI处理器上训练的模型可以在GPU/CPU上进行推理。


ONNX 作为中间格式,既可以作为网络结构的中间转换载体,也可以作为权重参数的中间转换载体,但需要明确的是:它的设计是将 “结构” 和 “参数”绑定在一起作为 “完整模型” 进行转换,而非单独拆分存储结构或参数。具体来说:

  1. 作为网络结构的中间转换者ONNX 能够精确描述不同框架(如 PyTorch、TensorFlow、MindSpore 等)定义的网络结构(计算图、算子连接、张量维度等)。例如,PyTorch 的 torch.onnx.export 会将模型的动态计算图转换为 ONNX 静态计算图结构,TensorFlow 也可通过工具将 SavedModel 转换为 ONNX 结构。其他框架(如 MXNet、PaddlePaddle)也支持导出为 ONNX 结构。这意味着 ONNX 可以作为 “结构转换的桥梁”,让不同框架的网络结构能够被统一解析和转换(例如,将 PyTorch 的 ResNet 结构通过 ONNX 转换为 TensorRT 可识别的结构)。

  2. 作为权重参数的中间转换者ONNX 会将模型的权重参数(如卷积核、偏置、BN 层的均值 / 方差等)以 “初始器(Initializer)” 的形式嵌入到文件中,与结构绑定。这些参数会随着结构一起被转换:例如,PyTorch 模型导出为 ONNX 时,权重会从 PyTorch 的张量格式转换为 ONNX 定义的张量格式;当 ONNX 模型被转换为 TensorRT 引擎或昇腾 OM 格式时,权重也会被同步转换为目标平台支持的参数格式(如针对硬件优化的精度、存储方式)。因此,ONNX 也承担了 “参数转换的中间载体” 角色,确保权重在跨框架 / 跨硬件时能够被正确解析和复用。

关键结论

ONNX 不支持 “单独存储结构或单独存储参数”,但它同时包含结构和参数,并能作为两者的统一中间转换者—— 通过 ONNX,不同框架的结构可以被统一表示,参数可以被统一携带,最终实现 “结构 + 参数” 的整体跨平台转换。这种 “绑定式转换” 正是 ONNX 作为中间格式的核心价值:保证结构与参数的一致性,避免转换过程中出现不匹配问题。

http://www.dtcms.com/a/515199.html

相关文章:

  • 一种基于STL-LSTM混合模型的低轨卫星钟差短期预报方法
  • 【Docker】[特殊字符] Docker 部署完全指南 - 从本地开发到云服务器
  • 宝塔面板部署Django:使用Unix Socket套接字通信的完整教程(附核心配置与问题排查)
  • 广西建设局建设行政主管部网站资源网站优化排名软件公司
  • 基于Vue的2025年哈尔滨亚冬会志愿者管理系统5zqg6m36(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 软件可用性测试历史概念✅软件可用性测试的国际标准✅软件可用性测试方法
  • 深入 JavaScript 对象与代理模式的本质、应用与区别!
  • 响水网站制作公司平顺网站建设
  • 顺昌网站建设临沂网站制作公司
  • Llama-2-7b 昇腾 NPU 测评总结:核心性能数据、场景适配建议与硬件选型参考
  • 奥威BI:AI数据分析赋能企业智能决策
  • Python机器学习与数据分析教程之pandas
  • 【性能】android 启动丢帧分析全攻略
  • 个人网站免费域名注册海报设计网站官网
  • Linux定制篇-Nacos的安装和配置
  • 【矩阵分析与应用】记录
  • 大模型-7种大模型微调方法 下
  • 企业级Nexus实践:守护软件供应链安全
  • 通过自定义时间服务器向指定的客户端主机同步时间
  • 好一点的网站建设网站建设的难点在哪里
  • qt 网站开发男女做暧昧小视频网站
  • 解决 “默认的putty 很快就断开了,无法连接服务器”
  • 编程与数学 03-007 《看潮资源管理器》项目开发 14 操作所有者数据
  • 小九源码-springboot095-java小区闲置物品交易网站
  • Vue组件化开发
  • 自定义服务器实现时间同步
  • 【Python3教程】Python3高级篇之uWSGI 安装配置
  • Nginx 安装配置指南
  • 【新手小白版】Gerrit使用教程
  • Java大模型应用开发框架langchain4j,springai alibaba小结