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 クレート、重いカーネルの並列化には Rayon を活用しています。ニューラルネットワークアーキテクチャには、層を線形に積み重ねる Sequential モデルと、残差接続やマルチインプット/アウトプットネットワークなど複雑な構造を扱える Graph モデルの2種類をサポートしています。

対象ユーザー

外部の C/C++ ライブラリにリンクする複雑さを避けつつ、メモリ安全性和並行処理を維持しながら、完全に Rust エコシステムで機械学習モデルを構築・デプロイしたい開発者。

主な特徴

  • 完全な Rust 実装:FFI や外部 C/C++ 依存なし。より簡単にポータブルでメモリ安全な実装が可能。
  • 広範なアルゴリズムカバレッジ:古典的な教師あり/教師なし学習、異常検出、完全なニューラルネットワークフレームワークを含む。
  • 柔軟な NN アーキテクチャ:シーケンシャルモデルとグラフベースモデルの両方をサポート(残差ブロックや共有タワーの実装を可能)。
  • 決定論的結果:実験の再現性を確保するため、グローバルおよびコンポーネントごとのシード管理を提供。
  • モデルの永続化Serdepostcard を使って、コンパクトなバイナリファイルとして学習済みモデルを保存・読み込み可能。
  • Scikit-learn 互換の評価指標:回帰、分類、クラスタリング用の包括的な評価指標を備えています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト