skorch-dev/skorch
A scikit-learn compatible neural network library that wraps PyTorch
解决的问题
它弥合了 PyTorch 与 scikit-learn 之间的差距,使用户可以像使用 scikit-learn 估计器一样使用 PyTorch 神经网络。这消除了编写重复训练循环样板代码的需要,并允许 PyTorch 模型直接集成到 scikit-learn 的预处理、管道构建和超参数调优工具生态系统中。
工作原理
Skorch 将 PyTorch 模块包装为 scikit-learn 兼容的接口。通过提供 NeuralNetClassifier 等类,使标准 scikit-learn 方法(如 .fit() 和 .predict())得以使用。该包装器使 PyTorch 模型能够无缝集成到 sklearn.pipeline.Pipeline 和 sklearn.model_selection.GridSearchCV 中,实现自动模型选择和优化。
适用人群
使用 PyTorch 构建神经网络,但更倾向于使用 scikit-learn API 进行模型管理、评估和管道编排的机器学习工程师和数据科学家。
主要亮点
- scikit-learn 兼容性:与 scikit-learn 管道和网格搜索完全集成,用于超参数优化。
- 训练工具:内置支持早停、检查点保存以及学习率调度器(包括循环学习率和热重启)。
- 模型管理:支持参数冻结/解冻,以及 CLI 和 Jupyter Notebook 的进度条。
- 广泛集成:与 Hugging Face 和 GPyTorch(高斯过程)兼容。
相关
- 项目
- 项目
- 项目
- 项目
- 项目