このプロジェクトについて

ML.NETは、.NETエコシステム向けに構築されたクロスプラットフォーム、オープンソースのマシンラーニングフレームワークである。.NET開発者が、PythonやRなどの他の言語の知識や、事前のMLの専門知識を必要とせずに、アプリケーション内でカスタムマシンラーニングモデルをビルド、トレーニング、デプロイ、使用できるようにすることが、その主な価値である。 このフレームワークは、データのロード、データの変換、組み込みのMLアルゴリズムライブラリなど、フルパイプラインをバンドルしている。分類、予測、異常検出などの一般的なシナリオをサポートしている。ネイティブトレーナー以外にも、ML.NETはTensorFlowやONNXモデルを使用できるため、サポートされるシナリオの範囲が広がり、フレームワークがより拡張可能になる。 プラットフォームのサポートは広範囲にわたる。ML.NETは、.NET Coreを介してWindows、Linux、macOSで、また、.NET Frameworkを介してWindowsで実行される。また、ARM64、Apple M1、Blazor WebAssemblyでも実行されるが、一部のプラットフォームには制限がある。64ビットはすべてのプラットフォームでサポートされており、32ビットはWindowsでサポートされているが、TensorFlowやLightGBM関連の機能は除く。 配布はNuGetを通じて行われる。主なパッケージはMicrosoft.MLで、.NET Core CLI (`dotnet add package Microsoft.ML`)、NuGetパッケージマネージャー (`Install-Package Microsoft.ML`)、Visual Studioのパッケージマネージャー、またはPaketを介してインストールできる。毎日のビルドもAzure DevOpsフィードに公開される。プロジェクトでは、.NET Core 2.1以降、または.NET Framework 4.6.1以降 (4.7.2以降を推奨) が必要。 典型的なワークフローは、READMEに示されている。MLContextを作成し、CSVをテキストローダーでロードし、テキストを特徴付け、バイナリ分類トレーナー (FastTree) を追加する学習パイプラインを構築し、モデルを適合させ、次に新しい入力のスコアを付けるための予測エンジンを作成する。READMEは、完全な例、ドキュメント、APIリファレンス、チュートリアル、YouTubeプレイリストへのリンクを含む別のサンプルリポジトリ (dotnet/machinelearning-samples) を指している。 リリースの頻度は、.NETリリーストレインに結び付けられている。ML.NETのメジャーリリースは、.NETのメジャーリリースとともに年に1回出荷される (ML.NET 1.7は、2021年11月に.NET 6とともに出荷され、ML.NET 2.0は.NET 7とともに出荷されるなど)。リリースブランチは、サービングのために維持される。CIカバレッジは、CentOS、Ubuntu、macOS、Windows x64、Windows Full Framework、Windows x86、Windows .NET Core 3.1をカバーし、デバッグとリリースの両方の構成が含まれる。 ML.NETは、MITライセンスの下でライセンスされており、商用利用が無料であり、.NET Foundationのプロジェクトである。プロジェクトは、貢献を歓迎しており、Discordと定期的な.NET Machine Learning Community Standupにアクティブなコミュニティプレゼンスを持っている。