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 兼容。
相关
- 项目
- 项目
- 项目
- 项目
- 项目