温馨提示×

centos pytorch怎么导出模型

小樊
34
2026-10-26 21:47:10
栏目: 智能运维

在 CentOS 上导出 PyTorch 模型,和你用的操作系统关系不大,主要取决于模型类型和导出目标格式。下面按常见场景给你总结一下。


一、导出为 PyTorch 原生格式(.pt / .pth)

适用于:模型保存后再用 PyTorch 加载

方式 1:保存整个模型(不推荐,跨环境兼容性差)

import torch

torch.save(model, "model.pth")

加载:

model = torch.load("model.pth")

方式 2:只保存模型参数(推荐)

torch.save(model.state_dict(), "model.pth")

加载:

model = MyModel()
model.load_state_dict(torch.load("model.pth"))
model.eval()

二、导出为 TorchScript(.pt,可脱离 Python 使用)

适用于:C++ 推理、生产环境

1️⃣ Trace 方式(最常用)

model.eval()
example_input = torch.randn(1, 3, 224, 224)

traced_script_module = torch.jit.trace(model, example_input)
traced_script_module.save("model.pt")

2️⃣ Script 方式(支持控制流)

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

加载(C++ / Python):

model = torch.jit.load("model.pt")

三、导出为 ONNX(跨框架推理)

适用于:TensorRT / OpenVINO / OpenCV / 推理服务器

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"}},
    opset_version=13
)

验证是否导出成功:

pip install onnx
python -c "import onnx; onnx.load('model.onnx')"

四、CentOS 常见问题

1️⃣ GLIBC / GCC 版本过低

TorchScript / ONNX 推理可能报错
解决:

gcc --version
# 建议 gcc >= 7

2️⃣ 没有 GUI(服务器)

完全没问题,PyTorch 导出不需要显示器

3️⃣ 缺少依赖

pip install torch onnx

五、选择建议

场景 推荐方式
继续用 Python state_dict
C++ 推理 TorchScript
跨平台推理 ONNX
部署到服务器 TorchScript / ONNX

如果你能告诉我:

  • 模型类型(CNN / Transformer / 自定义)
  • 导出后在哪里用(Python / C++ / 推理引擎)

我可以给你更精确的代码模板。

0 踩