如何导出模型部署文件

AI技术
小华
2026-07-16

导出模型部署文件,通常取决于你使用的框架(PyTorch、TensorFlow、ONNX 等)部署目标(服务器、移动端、边缘设备、推理引擎)。下面按常见场景给你一个通用流程 + 示例,你可以对照自己的情况选择。

一、先明确 3 个问题

  1. 用什么框架训练的?
  • PyTorch / TensorFlow / JAX / PaddlePaddle 等
  1. 部署到哪里?
  • 云端(Docker、KServe、Triton)
  • 本地服务器
  • 移动端 / 嵌入式(TensorRT、NCNN、CoreML)
  1. 部署时用什么推理引擎?
  • ONNX Runtime
  • TensorRT
  • TorchScript
  • TensorFlow Serving
  • OpenVINO

二、最常见:导出为 ONNX(强烈推荐)

✅ 优点

  • 跨框架
  • 跨平台
  • 推理引擎支持最广

PyTorch → ONNX

import torch
import torch.onnx
from model import MyModel
model = MyModel()
model.load_state_dict(torch.load("model.pth"))
model.eval()
dummy_input = torch.randn(1, 3, 224, 224)
torch.onnx.export(
model,
dummy_input,
"model.onnx",
input_names=["input"],
output_names=["output"],
dynamic_axes={"input": {0: "batch_size"}, "output": {0: "batch_size"}},
opset_version=12
)

✅ 导出的 model.onnx 就是模型部署文件

三、PyTorch 专用:导出 TorchScript

适合

  • 只部署在 PyTorch 环境
  • C++ / libtorch

方式一:Tracing

import torch
model.eval()
example_input = torch.randn(1, 3, 224, 224)
traced_script = torch.jit.trace(model, example_input)
traced_script.save("model.pt")

方式二:Scripting

scripted = torch.jit.script(model)
scripted.save("model.pt")

四、TensorFlow 导出 SavedModel(推荐)

Keras / TF2

model.save("saved_model/")

导出结构:

saved_model/
├── saved_model.pb
└── variables/

✅ 可直接用于 TensorFlow Serving

五、高性能部署:TensorRT

常见流程

PyTorch → ONNX → TensorRT
trtexec --onnx=model.onnx --saveEngine=model.trt

model.trt 就是 TensorRT 部署文件

六、移动端 / 边缘设备

平台常用格式
Android / iOSONNX
iOSCoreML (.mlmodel)
边缘 GPUTensorRT
嵌入式NCNN / OpenVINO

PyTorch → CoreML 示例

import coremltools as ct
model = ct.convert(
"model.onnx",
inputs=[ct.ImageType(shape=(1, 3, 224, 224))]
)
model.save("model.mlmodel")

七、部署时通常还需要的文件

一个完整部署包通常包含:

model.onnx / model.pt / saved_model/
config.yaml        # 模型配置
labels.txt         # 类别标签
preprocess.py      # 预处理
requirements.txt   # 依赖

八、快速对照表

场景推荐导出格式
通用部署ONNX
PyTorch C++TorchScript
TF ServingSavedModel
NVIDIA GPUTensorRT
移动端ONNX / CoreML
云推理ONNX / Triton

如果你愿意,可以直接告诉我:

  • ✅ 用的 什么框架
  • ✅ 部署到 什么环境
  • ✅ 是否用 Docker / K8s / 本地

我可以给你一步一步的具体命令和文件结构

亿速云提供售前/售后服务

售前业务咨询

售后技术保障

400-100-2938

7*24小时售后电话

官方微信小程序