robertknight/rten

ONNX neural network inference engine

What it solves

RTen 是一个机器学习运行时,旨在让开发者直接在 Rust 应用中运行在 Python 中训练的(使用 PyTorch 等框架)模型。它消除了运行时对 Python 环境的需求,提供了轻量级、高效且端到端的 Rust 实现,用于模型推理。

How it works

RTen 加载标准 ONNX 格式或自定义的 .rten 格式,以实现更快的加载和对超大模型的支持。它执行基于 CPU 的推理,利用 SIMD (AVX2, AVX-512, Arm Neon, 和 WebAssembly SIMD) 和多线程来优化性能。它还提供支持库,用于处理数据在通过模型之前和之后的预处理和后处理。

Who it’s for

它是为想要在 Rust 环境中部署 ML 模型,或以 WebAssembly (Wasm) 目标,以便在 JavaScript 应用中用于,特别是那些寻求轻量级运行时且没有沉重的外部依赖的开发者而构建的。

Highlights

  • End-to-end Rust: 整个项目及其依赖项都是用 Rust 编写的,简化了构建和部署。

  • ONNX Support: 兼容大多数标准 ONNX 算子,并支持 float32 和量化 (int8/uint8) 权重。

  • Cross-Platform: 可以在各种平台上运行,包括具有 SIMD 支持的 WebAssembly (Wasm) 用于浏览器端推理。

  • Integrated Toolkit: 包含用于不同领域常见预处理和后处理任务的库。

相关

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