robertknight/rten

ONNX neural network inference engine

解决的问题

RTen 是一个专为在 Rust 应用程序中运行 Python(如 PyTorch)训练的模型而设计的机器学习运行时。它通过提供端到端的 Rust 实现,消除了对复杂 C++ 依赖的需求,从而简化了在各种平台上的构建和部署流程。

工作原理

RTen 支持 ONNX 格式,允许用户从 Python 框架导出模型并加载到 Rust 环境中。它使用 SIMD(AVX2、AVX-512、Arm Neon 和 WebAssembly SIMD)进行基于 CPU 的推理,以优化性能。该引擎支持单精度浮点数(f32)和量化 int8 权重,通过上转换到 f32,部分支持半精度(f16)权重。

适用人群

希望将机器学习模型集成到 Rust 应用程序中,或通过 WebAssembly 将模型部署到网页,而无需依赖重型外部 C++ 运行时的开发者。

主要亮点

  • 端到端的 Rust 实现,简化部署。
  • 支持大多数标准 ONNX 操作符和部分 ONNX Runtime "contrib" 操作符。
  • 仅支持 CPU 推理,具备多线程和 SIMD 加速。
  • 对 WebAssembly 提供原生支持,可在 JavaScript 应用中实现机器学习推理。
  • 包含用于常见预处理和后处理任务的支持库。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目