常见AI 模型格式种类

🔄 跨框架交换格式:ONNX

ONNX (Open Neural Network Exchange) 是一种开放的、与框架无关的模型表示标准。它的核心价值在于互操作性,可以把它理解成 AI 模型界的"通用语言"或"中间翻译"。

  • 主要作用:它定义了一个可扩展的计算图模型和一套标准的算子集,让模型可以在不同的深度学习框架(如 PyTorch、TensorFlow)和不同的推理引擎(如 TensorRT、OpenVINO)之间自由转换和部署,避免被单一框架"锁定"。

  • 文件格式 :通常以 .onnx 为扩展名。

  • 典型流程 :你可以将 PyTorch 训练的模型导出为 ONNX 格式,然后这个 .onnx 文件可以被 TensorRT 或 ONNX Runtime 等引擎加载,以在不同硬件上实现高效推理。

📦 主要框架的原生格式

这些格式是各个深度学习框架在训练过程中直接保存的格式,通常包含了模型结构、权重、优化器状态等完整信息。

格式 所属框架 主要文件/扩展名 特点
TensorFlow SavedModel TensorFlow 一个目录,包含 saved_model.pb 等文件 TensorFlow 的标准保存格式,包含完整的计算图和变量,可直接用于部署。
PyTorch 序列化格式 PyTorch .pt 或 .pth PyTorch 的标准保存格式,用于保存整个模型或仅保存 state_dict(模型参数)。
PaddlePaddle 模型 PaddlePaddle (飞桨) .pdmodel (结构) + .pdiparams (参数) 百度飞桨框架的推理模型格式,训练时还会生成 .pdparams 等文件。
Keras H5 / Keras v3 Keras (TF 高阶API) .h5 / .keras Keras 模型保存格式。H5 是传统格式,.keras 是 Keras v3 的新原生格式。
MXNet 模型 Apache MXNet .json (符号) + .params (权重) MXNet 的标准格式,分别存储网络拓扑结构和参数。
Caffe 模型 Caffe .caffemodel (权重) + .prototxt (结构) 早期深度学习框架 Caffe 的格式,通常与框架紧密绑定。

⚡️ 针对特定硬件的优化/推理格式

这些格式通常是为了在特定硬件(如 GPU、移动端 NPU)上获得极致的推理性能而设计的,它们往往是从通用格式转换而来。

格式 目标平台 主要扩展名 特点
TensorRT Engine NVIDIA GPU .engine 或 .plan 高度优化的推理引擎,针对 NVIDIA GPU 做了极致加速,通常从 ONNX 转换而来。
Core ML Apple 设备 (iOS/macOS) .mlmodel 或 .mlpackage 苹果生态的模型格式,可在 iPhone、iPad、Mac 等设备上高效运行,支持神经网络、树集成等多种模型。
TFLite 移动端 & 嵌入式设备 .tflite 使用 FlatBuffers 格式,专为移动和嵌入式设备设计,模型体积小、推理速度快。
OpenVINO IR Intel 硬件 (CPU/GPU/VPU) .xml (结构) + .bin (权重) Intel 的推理工具套件,用于在 Intel 平台上优化和部署模型,支持从多种框架转换。

🔬 其他值得关注的格式

  • GGUF :一种专为 大语言模型 (LLM) 设计的格式,常见于 llama.cpp 等社区项目。它支持将模型权重进行不同等级的量化,从而让 LLM 能在消费级硬件上运行。

  • Safetensors :由 Hugging Face 推出,旨在安全地存储模型权重。它比传统的 pickle 格式更快、更安全,正在成为存储大模型权重的热门选择。

  • JAX/Flax :JAX 生态的模型通常以 Orbax 检查点或通过 jax2tf、jax2onnx 等工具转换为 SavedModel 或 ONNX 格式进行部署。

💎 总结与建议

在实际项目中,选择哪种格式取决于你的具体目标:

  • 跨框架开发 :首选 ONNX,它能让你的模型在 PyTorch、TensorFlow 和不同推理引擎间灵活迁移。

  • 部署到特定硬件 :根据目标平台选择优化格式,如 TensorRT (NVIDIA GPU) 、Core ML (Apple) 、TFLite (移动端) 或 OpenVINO (Intel)。

  • 运行大语言模型 (LLM) :GGUF 和 Safetensors 是目前社区最活跃的选择。

  • 模型训练与保存 :直接使用对应框架的原生格式即可,如 PyTorch 的 .pt 或 TensorFlow 的 SavedModel。

如果你有特定的部署平台或应用场景,可以告诉我,我再帮你分析哪种格式更合适。

相关推荐
Rocky Ding*15 分钟前
深入浅出GroundingPI技术解析:精确空间感知如何迁移到机器人动作
论文阅读·人工智能·深度学习·机器学习·aigc·ai-native·具身智能
starzy199016 分钟前
Scala循环与判断:一切皆表达式的控制流
开发语言·人工智能·scala
QYR_1125 分钟前
全球新能源汽车热管理零部件市场2032年预计突破1854亿元,CAGR达8.2%
人工智能
jarvisuni33 分钟前
白嫖Tripo3D ?Kimi 3D Make可以玩起来!
人工智能·ai编程
黑十1 小时前
PyTorch 报 “no CUDA GPUs are available“ 怎么办?3 步排查
服务器·网络·人工智能·pytorch·python
明月_清风1 小时前
用自然语言操控真机:Google Artemis 移动端 AI Agent 上手与实践
人工智能·后端
没落之王1 小时前
三易五行看宋朝的三界确立
大数据·人工智能·算法
miofly1 小时前
DeepSeek 开源 Super-agent 架构:AI 主动发现 Bug 并提交 PR
人工智能
kyrie_sakura1 小时前
大模型学习20 大模型学习 - LangChain3 - Agents
人工智能·学习·langchain
zhangfeng11331 小时前
2026 书生国智科探挑战赛暨飞翔杯 AI Agent/Skills 开发大赛全景介绍
人工智能