自动化深度学习-skorch的基本介绍与安装指南

skorch是一个兼容scikit-learn的神经网络库,较好的包装了PyTorch使深度学习和机器学习能够更好的结合,同时skorch可以支持我们用非常低的代码量处理较为复杂的神经网络和深度学习任务,本系列教程将由浅入深的全方位介绍这一深度学习【神库】。

skorch基本介绍

skorch的目标之一是使PyTorch与sklearn的【联合使用】成为可能。这是通过提供一个具有sklearn接口的PyTorch的包装器来实现的。

skorch并没有重新写轮子,而是尽可能地让你摆脱使用Pytorch需要重复编写代码的困境。如果你熟悉sklearn和PyTorch,你不需要学习任何新的概念,而且语法应该是众所周知的,如果你不熟悉这些库,跟随本系列教程,你可以同时精通PyTorch、Sklearn和skorch。

此外,skorch抽象出了训练循环,使很多模板代码变得非常简单。一个简单的 net.fit(X, y) 就足够了。开箱即用,skorch可以处理许多类型的数据,无论是PyTorch Tensors、NumPy数组、Python dicts等等。然而,如果你有其他的数据,扩展skorch是很容易的,可以实现。

总的来说,skorch的目标是像PyTorch一样灵活,同时拥有sklearn一样简洁的代码量。

最简化安装

最简单安装莫过于用pip安装,请运行:

python -m pip install -U skorch

但是,本教程还是建议使用一个虚拟环境来进行安装。

最简化运行示例

回归网络

  • 定义网络并设置参数:
from skorch import NeuralNetRegressor
net_regr = NeuralNetRegressor(
    RegressorModule,
    max_epochs=20,
    lr=0.1,
#     device='cuda',  # uncomment this to train with CUDA
)
  • 训练
net_regr.fit(X_regr, y_regr)
  • 预测
y_pred = net_regr.predict(X_regr[:5])

进阶安装

如果我们想使用skorch的最新补充内容或帮助开发,你应该从源代码安装skorch。

使用conda

我们需要安装一个有效的conda。从这里为你的系统获取正确的miniconda。

如果我们只想使用最新版skorch,只需要按照下面的命令行:

git clone https://github.com/skorch-dev/skorch.git
cd skorch
conda env create
conda activate skorch
python -m pip install .

如果我们想帮助开发,或者实验一些新东西,可以按照下面的命令:

git clone https://github.com/skorch-dev/skorch.git
cd skorch
conda env create
conda activate skorch
python -m pip install -e .

py.test #单元测试
pylint skorch # 静态代码检查

额外安装PyTorch

PyTorch不包括在skorch的依赖项中,因为我们需要的PyTorch版本取决于操作系统和设备。有关PyTorch的安装说明,请大家点个关注,本系列教程随后也将带来相关内容。skorch官方支持最近四个次要的PyTorch版本,目前是: 1.9.1 1.10.2 1.11.0 1.12.0

然而,这并不意味着旧版本不能工作,只是没有经过测试。由于skorch主要依赖于PyTorch API的稳定部分,旧的PyTorch版本应该可以正常工作。

一般来说,运行这个程序来安装PyTorch应该可以工作(假设CUDA为11.1)。

# 使用conda。
conda安装pytorch cudatoolkit==11.1 -c pytorch
# 使用 pip
python -m pip install torch

你可能感兴趣的:(数据驱动建模,自动化,深度学习,python)