SomeB1oody/RustyML

A high-performance machine learning library in pure Rust, offering statistical utilities, ML algorithms and neural networks.

解决的问题

RustyML 是一个完全用 Rust 编写的库,提供完整的机器学习和深度学习工作流。它消除了对 C 或 C++ 依赖(FFI)的需求,为在 Rust 中实现 ML 模型提供了一种内存安全、可移植且高性能的替代方案。

如何工作

该库采用模块化功能标志设计,允许用户仅包含所需组件。它利用 ndarray crate 进行张量运算,并使用 Rayon 实现重型内核的多线程并行化。支持两种类型的神经网络架构:用于线性堆叠层的 Sequential 模型,以及用于复杂架构(如残差连接或多输入/输出网络)的 Graph 模型。

适用人群

希望使用纯 Rust 生态系统构建和部署机器学习模型的开发者,避免链接外部 C/C++ 库的复杂性,同时保持内存安全和并发性。

主要亮点

  • 纯 Rust 实现:无 FFI 或外部 C/C++ 依赖,便于移植且内存安全。
  • 广泛的算法覆盖:包含经典的监督/无监督学习、异常检测以及完整的神经网络框架。
  • 灵活的神经网络架构:支持顺序模型和图结构模型(允许实现残差块和共享塔结构)。
  • 确定性结果:提供全局和组件级种子管理,确保实验可复现。
  • 模型持久化:使用 Serdepostcard 将训练好的模型保存和加载为紧凑的二进制文件。
  • 与 Scikit-learn 兼容的评估指标:包含回归、分类和聚类任务的全面评估指标集。

相关

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