Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Ignite

https://travis-ci.org/pytorch/ignite.svg?branch=master https://codecov.io/gh/pytorch/ignite/branch/master/graph/badge.svg https://pepy.tech/badge/pytorch-ignite https://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 https://anaconda.org/pytorch/ignite/badges/version.svg https://img.shields.io/badge/dynamic/json.svg?label=PyPI&url=https%3A%2F%2Fpypi.org%2Fpypi%2Fpytorch-ignite%2Fjson&query=%24.info.version&colorB=brightgreen&prefix=v https://img.shields.io/badge/Optuna-integrated-blue

Ignite is a high-level library to help with training neural networks in PyTorch.

  • ignite helps you write compact but full-featured training loops in a few lines of code

  • you get a training loop with metrics, early-stopping, model checkpointing and other features without the boilerplate

Below we show a side-by-side comparison of using pure pytorch and using ignite to create a training loop to train and validate your model with occasional checkpointing:

assets/ignite_vs_bare_pytorch.png

As you can see, the code is more concise and readable with ignite. Furthermore, adding additional metrics, or things like early stopping is a breeze in ignite, but can start to rapidly increase the complexity of your code when “rolling your own” training loop.

Installation

From pip:

pip install pytorch-ignite

From conda:

conda install ignite -c pytorch

From source:

pip install git+https://github.com/pytorch/ignite

Nightly releases

From pip:

pip install --pre pytorch-ignite

From conda (this suggests to install pytorch nightly release instead of stable version as dependency):

conda install ignite -c pytorch-nightly

Why Ignite?

Ignite’s high level of abstraction assumes less about the type of network (or networks) that you are training, and we require the user to define the closure to be run in the training and validation loop. This level of abstraction allows for a great deal more of flexibility, such as co-training multiple models (i.e. GANs) and computing/tracking multiple losses and metrics in your training loop.

Ignite also allows for multiple handlers to be attached to events, and a finer granularity of events in the engine loop.

Documentation

API documentation and an overview of the library can be found here.

Structure

  • ignite: Core of the library, contains an engine for training and evaluating, all of the classic machine learning metrics and a variety of handlers to ease the pain of training and validation of neural networks!

  • ignite.contrib: The Contrib directory contains additional modules contributed by Ignite users. Modules vary from TBPTT engine, various optimisation parameter schedulers, logging handlers and a metrics module containing many regression metrics (ignite.contrib.metrics.regression)!

The code in ignite.contrib is not as fully maintained as the core part of the library. It may change or be removed at any time without notice.

Examples

We provide several examples ported from pytorch/examples using ignite to display how it helps to write compact and full-featured training loops in a few lines of code:

MNIST example

Basic neural network training on MNIST dataset with/without ignite.contrib module:

Distributed CIFAR10 example

Training a small variant of ResNet on CIFAR10 in various configurations: 1) single gpu, 2) single node multiple gpus, 3) multiple nodes and multilple gpus.

Other examples

Notebooks

Reproducible trainings

Inspired by torchvision/references, we provide several reproducible baselines for vision tasks:

Features:

Contributing

We appreciate all contributions. If you are planning to contribute back bug-fixes, please do so without any further discussion. If you plan to contribute new features, utility functions or extensions, please first open an issue and discuss the feature with us.

Please see the contribution guidelines for more information.

As always, PRs are welcome :)

They use Ignite

See other projects at “Used by”

If your project implements a paper, represents other use-cases not covered in our official tutorials, Kaggle competition’s code or just your code presents interesting results and uses Ignite. We would like to add your project in this list, so please send a PR with brief description of the project.

User feedback

We have created a form for “user feedback”. We appreciate any type of feedback and this is how we would like to see our community:

  • If you like the project and want to say thanks, this the right place.

  • If you do not like something, please, share it with us and we can see how to improve it.

Thank you !

Release files for pytorch-ignite 0.4.0.dev20200212

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pytorch-ignite 0.4.0.dev20200212
File Size Uploaded
pytorch-ignite-0.4.0.dev20200212.tar.gz 77.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pytorch-ignite 0.4.0.dev20200212
File Interpreter ABI Platform
pytorch_ignite-0.4.0.dev20200212-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 194.2 kB

Release files / pytorch-ignite-0.4.0.dev20200212.tar.gz

Download URL pytorch-ignite-0.4.0.dev20200212.tar.gz
Size 77.8 kB
Tags Source
SHA-256 checksum
How to use checksums
5902d78a7e7bc23ff5dc7fc449156b8e324ec29892f28be12b2aa20073826feb
BLAKE2b-256 checksum
How to use checksums
ad9d301db581ca70466d534e92d2e7100ba4ea328f6a6d8f5cce06d0195b6eed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0.post20200210 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

Release files / pytorch_ignite-0.4.0.dev20200212-py2.py3-none-any.whl

Download URL pytorch_ignite-0.4.0.dev20200212-py2.py3-none-any.whl
Size 116.4 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
caa765e25196477e67c0a1a81e4a3ab418bcae3f501519aebda2da81af0b0c0f
BLAKE2b-256 checksum
How to use checksums
3fb02c5dba4f29a8854aab1c5e61dfcac0292099c6cd1ee762463403e0b50758
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0.post20200210 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

Release history Release notifications | RSS feed

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.4.13

2 release files

0.4.11

3 release files

0.4.9

3 release files

0.4.8

3 release files

0.4.7

3 release files

0.4.6

3 release files

0.4.5

3 release files

0.4.4

3 release files

0.4.3

3 release files

0.4.2

3 release files

0.4.1

3 release files

This release

0.3.0

3 release files

0.2.1

3 release files

0.2.0

3 release files

0.1.2

3 release files

0.1.1

3 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page