一个轻量级的库来帮助在pytorch中训练神经网络。
pytorch-ignite-nightl的Python项目详细描述
点火
Ignite是一个高级库,用于帮助在Pythorch中训练神经网络。
- Ignite帮助您在几行代码中编写紧凑但功能齐全的培训循环
- 在没有样板的情况下,您将获得一个包含指标、提前停止、模型检查点和其他功能的培训循环
下面我们将展示使用纯pytorch和使用ignite创建训练循环的并排比较 通过偶尔的检查点来培训和验证您的模型:
如您所见,使用Ignite,代码更加简洁和可读。此外,添加其他度量,或 像早期停止这样的事情是轻而易举的点燃,但可以开始迅速增加复杂性。 你的代码时,滚动自己的训练循环。
安装
来自PIP:
pip install pytorch-ignite
从conda:
conda install ignite -c pytorch
来源:
python setup.py install
为什么点火?
Ignite的高抽象级别较少假设您正在培训的网络类型,我们要求用户定义要在培训和验证循环中运行的闭包。这种抽象级别允许更大的灵活性,例如共同训练多个模型(即GANS)和在训练循环中计算/跟踪多个损失和度量。
Ignite还允许将多个处理程序附加到事件,并允许引擎循环中事件的粒度更细。
文档
可以找到api文档和库的概述here。
结构
- ignite:库的核心,包含一个用于训练和评估的引擎,所有经典的机器学习指标和各种处理程序,以减轻神经网络训练和验证的痛苦!
- ignite.contrib:contrib目录包含ignite用户贡献的其他模块。模块不同于tbptt引擎、各种优化参数调度程序、日志处理程序和包含许多回归度量的度量模块(ignite.contrib.metrics.regression)!
ignite.contrib中的代码不像库的核心部分那样完全维护。可随时更改或移除,恕不另行通知。
示例
请查看examples,了解如何使用ignite来训练各种类型的网络,以及如何使用visdom或tensorboardX进行训练可视化。
贡献
我们感谢所有的贡献。如果你打算贡献回错误修复,请这样做,没有任何进一步的讨论。如果您计划提供新功能、实用程序功能或扩展,请首先打开一个问题并与我们讨论该功能。
有关详细信息,请参见contribution guidelines。
一如既往,欢迎使用个人资料:)