skorch-dev/skorch

A scikit-learn compatible neural network library that wraps PyTorch

解決的問題

它彌補了 PyTorch 與 scikit-learn 之間的鴻溝,允許使用者像使用 scikit-learn 估計器一樣使用 PyTorch 神經網路。這消除了在使用 PyTorch 時編寫重複的訓練迴圈、驗證拆分和超參數調優樣板程式碼的需求。

工作原理

Skorch 將 PyTorch 模組封裝成相容於 scikit-learn 的介面。透過提供 NeuralNetClassifier 或類似的封裝器,它使得在底層模型保持為 PyTorch 神經網路的同時,能夠使用標準的 scikit-learn 工具,例如用於預處理的 Pipeline 和用於自動超參數優化的 GridSearchCV

適用對象

希望在建構模型時擁有 PyTorch 的靈活性,但又偏好 scikit-learn 提供的流線型、標準化工作流和實用工具的機器學習工程師與資料科學家。

亮點

  • Scikit-learn 相容性:與 PipelineGridSearchCV 完全整合。
  • 訓練實用程式:內建對早停(early stopping)、檢查點(checkpointing)和學習率調度器(learning rate schedulers)的支援。
  • 訓練管理:包含用於 CLI 和 Jupyter 的進度條以及參數凍結/解凍功能。
  • 生態系統整合:與 Hugging Face 和用於高斯過程的 GPyTorch 相容。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案