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(ガウス過程)との互換性。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト