skorch-dev/skorch

A scikit-learn compatible neural network library that wraps PyTorch

何を解決するか

PyTorchとscikit-learnの間のギャップを埋め、PyTorchのニューラルネットワークをscikit-learnの推定器であるかのように扱えるようにします。これにより、トレーニングループの繰り返しコードを書く必要がなくなり、PyTorchモデルをscikit-learnの前処理ツール、パイプライン構築、ハイパーパラメータチューニングのエコシステム内で直接使用できるようになります。

動作方法

SkorchはPyTorchモジュールをscikit-learn互換のインターフェースにラップします。NeuralNetClassifierなどのクラスを提供することで、.fit()や.predict()といった標準的なscikit-learnメソッドの使用が可能になります。このラッパーにより、PyTorchモデルはsklearn.pipeline.Pipelineやsklearn.model_selection.GridSearchCVにスムーズに統合され、自動的なモデル選択と最適化が実現できます。

対象ユーザー

ニューラルネットワークの構築にPyTorchを使用しているが、モデル管理、評価、パイプラインオーケストレーションにはscikit-learn APIを好む機械学習エンジニアやデータサイエンティスト。

特徴

  • scikit-learn互換性: ハイパーパラメータ最適化のためのscikit-learnパイプラインおよびグリッドサーチとの完全統合。
  • トレーニングユーティリティ: エポックの早期停止、チェックポイント保存、学習率スケジューラ(サイクリックLRやウォームリスタートを含む)の組み込みサポート。
  • モデル管理: パラメータの固定/解放機能と、CLIおよびJupyterノートブック用のプログレスバー。
  • 広範な統合: Hugging FaceおよびGPyTorch(ガウス過程)との互換性。

関連

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