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