Ignite 是 PyTorch 官方发布的一个高抽象库,可以帮助我们更好地使用 PyTorch 训练神经网络。它主要有以下特性:
- Ignite 可以帮你写简洁高效的训练代码,只需几行就可以搞定
- 可以轻松地使用各类训练指标,early stopping,模型 checkpoint 等
下图是一个使用 PyTorch 本身和使用 Ignite 写得一个训练和评测模型的代码对比,包括保存 checkpoint:
大家可以看到,使用 Ignite 的代码更加的简洁和易读,后期增加功能也更加方便。
安装
用 pip:
1 | pip install pytorch-ignite |
用 conda:
1 | conda install ignite -c pytorch |
从源代码编译:
1 | python setup.py install |
文档
关于 Ignite 的详细使用文档可以参考 这个链接.
示例
大家可以参考这个页面,里面有使用 Ignite 训练各类网络的代码,同时也有如何使用 visdom 或 tensorboardX 的部分。
和 Torchnet 相比有什么不同?
Ignite 和 torchnet 非常的相似,而且 Ignite 是受 torchnet 启发的。
和 torchnet 最大的不同就是,Ignite 更加的自由。Ignite 与特定网络的耦合度较低,训练的循环还是需要用户自己来定义。而 torchnet 则根据网络结构内部定义好了训练循环。Ignite 带给了我们更多的灵活性。
项目地址
项目的 Github 地址:https://github.com/pytorch/ignite
本站微信群、QQ群(三群号 726282629):