一个轻量级的库来帮助在pytorch中训练神经网络。

pytorch-ignite-nightl的Python项目详细描述


点火

https://travis-ci.org/pytorch/ignite.svg?branch=masterhttps://codecov.io/gh/pytorch/ignite/branch/master/graph/badge.svghttps://pepy.tech/badge/pytorch-ignitehttps://img.shields.io/badge/dynamic/json.svg?label=docs&url=https%3A%2F%2Fpypi.org%2Fpypi%2Fpytorch-ignite%2Fjson&query=%24.info.version&colorB=brightgreen&prefix=v

Ignite是一个高级库,用于帮助在Pythorch中训练神经网络。

  • Ignite帮助您在几行代码中编写紧凑但功能齐全的培训循环
  • 在没有样板的情况下,您将获得一个包含指标、提前停止、模型检查点和其他功能的培训循环

下面我们将展示使用纯pytorch和使用ignite创建训练循环的并排比较 通过偶尔的检查点来培训和验证您的模型:

assets/ignite_vs_bare_pytorch.png

如您所见,使用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来训练各种类型的网络,以及如何使用visdomtensorboardX进行训练可视化。

贡献

我们感谢所有的贡献。如果你打算贡献回错误修复,请这样做,没有任何进一步的讨论。如果您计划提供新功能、实用程序功能或扩展,请首先打开一个问题并与我们讨论该功能。

有关详细信息,请参见contribution guidelines

一如既往,欢迎使用个人资料:)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
正则表达式使用Java从服务器截断文本   micronaut微服务的java内存消耗   如果私有函数需要相同的输入,java应该在公共函数中显式执行异常检查   为什么我们在java中使用抽象类和抽象方法   Java中接受外来字母的字符串?   cordova Android:ClassNotFoundException,包括ZXing   通过LiveData observer向特定索引添加项时出现java IndexOutOfBoundsException   jsp Java从两个源调用一个servlet   java如何设置网格布局中按钮的位置?   java HashMap返回方法   java JDK错误版本   java如何将现有类集成到新的Swing项目中   java如何在扫描程序位于输入端时使for循环停止   java正则表达式匹配空白表   java组织。格拉德尔。工具。BuildException:设置的代码长度无效   JList中的swing Java格式化字符串   javabeans如何将JavaBean属性映射到另一个名称以进行输出?   ajax请求后的java Rerender RichFaces错误消息