SuperAPI AI 工具集

onnx-inference

编程与开发

查看项目

更新于 10-15 23:33

技能介绍

用途:该技能面向机器学习模型部署与推理,使用 ONNX Runtime 在 Python、Rust、Go 等平台执行跨平台、高性能推理,适用于边缘 ML、模型量化等场景。

主要能力:

  1. 模型导出:支持将 PyTorch 模型通过 torch.onnx.export 导出为 ONNX(opset 17,支持动态 batch 轴),也支持用 skl2onnx 将 scikit-learn 模型转换为 ONNX。
  2. 推理:Python 侧提供 ONNXPredictor 类,可配置 CUDA/CPU 执行提供器、图优化级别与线程数,并支持批量预测;Rust 使用 ort 2.0+,Go 使用 onnxruntime_go 1.17+。
  3. 模型优化:提供动态量化(quantize_dynamic,QInt8)与 onnxoptimizer 图优化(如消除恒等、融合 BN 到卷积等),并可组合为面向边缘的完整流水线。
  4. 模型注册:ModelRegistry 类记录模型版本、SHA-256 哈希、注册时间与指标,支持按名称和版本获取路径。

使用方式:按栈安装依赖(Python:onnx 1.15+、onnxruntime 1.17+、torch 2.2+;Rust:ort 2.0+;Go:onnxruntime_go 1.17+),导出模型后用 onnx.checker.check_model() 校验,再加载会话执行推理;边缘部署可先优化再量化。

适用场景:需要跨语言、跨平台部署 ML 模型,或在边缘设备上运行量化模型的工程场景。

限制:资料未提供具体性能基准、精度损失数据、支持的模型类型范围及收费信息;部分代码示例为示意,实际使用需按环境调整。