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 应用中实现机器学习推理。
- 包含用于常见预处理和后处理任务的支持库。
相关
- 项目
- 项目
- 项目
- 项目
- 项目