常见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。

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

相关推荐
for_ever_love__2 小时前
LangChain MultiVectorRetriever:一个文档存多个向量
人工智能·python·自然语言处理·langchain·ai大模型·多向量·摘要检索
XMAIPC_Robot2 小时前
国产FPGA替代Xilinx在储能电力采集场景可行性评估与移植经验
人工智能·算法·机器学习·fpga开发·rk3588+fpga
loulanyue_2 小时前
从视觉感知到具身世界模型:物理世界中的自我进化智能体——读普林斯顿刘世隆NICE Workshop演讲
人工智能·深度学习
阿里云大数据AI技术2 小时前
在 EMR Serverless Spark 的 Ray 作业中使用 Checkpoint 断点续跑
人工智能·spark
慢云智慧空间3 小时前
从智能终端到空间AI,慢云科技如何重新定义智慧人居?
人工智能·python·科技
for_ever_love__3 小时前
LangChain SelfQueryRetriever:让模型自己写过滤条件
人工智能·语言模型·langchain·nlp·全文检索·元数据查询·自查询检索
天天代码码天天3 小时前
让照片动起来:LivePortrait 人像精简版分享,解压即可使用
人工智能
李福春3 小时前
斗破Google ADK Java苍穹-第5境斗灵-凝物通脉-Context与State
java·开发语言·人工智能·java-ee·google adk·深圳同盟·腾讯云架构师技术同盟
u1301303 小时前
GitHub 热榜项目:周榜(2026-10-11)
人工智能·驱动开发·github