jatinchowdhury18/RTNeural

Real-time neural network inferencing

解决的问题

RTNeural 是一个专为实时系统设计的轻量级 C++ 推理引擎,特别关注实时音频处理。它使开发者能够在低延迟和高性能至关重要的环境中运行预训练的神经网络。

工作原理

该库从 TensorFlow 或 PyTorch 等框架训练的神经网络中导入权重(通过 JSON 文件),并在 C++ 中执行前向传播(推理)。它提供两种主要 API:

  • 动态 API:从 JSON 文件在运行时创建推理引擎。
  • 编译时 API:在编译时定义模型架构,通过固定网络结构显著提升性能。

为优化性能,支持三种后端:Eigen、xsimd 和 C++ STL,且可使用 AVX SIMD 扩展进行构建。

适用人群

适用于开发实时应用的 C++ 开发者,特别是开发音频插件(VST、AU、LV2)或需要实时神经网络推理的嵌入式系统的人。

主要亮点

  • 实时优化:专为低延迟音频处理而设计。
  • 灵活的权重加载:支持从 TensorFlow 和 PyTorch 导入权重。
  • 广泛的层支持:包含 Dense、GRU、LSTM、Conv1D、Conv2D 和 BatchNorm 层。
  • 多种后端选择:可根据平台性能调优选择 Eigen、xsimd 或 STL。
  • 编译时优化:支持静态定义模型以实现最大速度。

相关

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