New Features
Metrics
- Added BLEU metric (1834)
- Added ROUGE metric (1772)
- Added MultiLabelConfusionMatrix metric (1613)
- Added Cohen Kappa metric (1690)
- Extended `sync_all_reduce` API (1823)
- Made `EpochMetric` more generic by extending the list of valid types (1748)
- Fixed issue with metric's output device (2062)
- Added support for list of tensors as metric input (2055)
- Implemented Jaccard Index shortcut for metrics (1682)
- Updated Loss metric to use `required_output_keys` (2027)
- Added classification report metric (1887)
- Added output detach for Canberra metric (1820)
- Improved ROC AUC (1762)
- Improved AveragePrecision metric and tests (1756)
- Uniformly handling of metric types for all loggers (2021)
- More DDP support for multiple contrib metrics (1891, 1869, 1865, 1850, 1830, 1829, 1806, 1805, 1803)
Engine
- Added native `torch.cuda.amp` and `apex` automatic mixed precision for `create_supervised_trainer` and `create_supervised_evaluator` (1714, 1589)
- Updated `state.batch/state.output` lifespan in Engine (1919)
Distributed module
- Handled IterableDataset with `auto_dataloader` (2028)
- Updated Loss metric to use `required_output_keys` (2027)
- Enabled gpu support for gloo backend (2016)
- Added `safe_mode` for `idist` broadcast (1839)
- Improved `idist` to support different `init_methods` (1767)
Other improvements
- Added LR finder improvements, moved to core (2045, 1998, 1996, 1987, 1981, 1961, 1951, 1930)
- Moved param handler to core (1988)
- Added an option to store `EpochOutputStore` data on `engine.state`, moved to core (1982, 1974)
- Set seed for xla in `ignite.utils.manual_seed` (1970)
- Fixed case for Precision/Recall in `multi_label`, not averaged configuration for DDP (1646)
- Updated `PolyaxonLogger` to handle v1 and v0 (1625)
- Added Arguments `*args`, `**kwargs` to `BaseLogger.attach method` (2034)
- Enabled metric ordering on `ProgressBar` (1937)
- Updated wandb logger (1896)
- Fixed type hint for `ProgressBar` (2079)
Bug fixes
- **BC-breaking:** Improved loggers to keep configuration (1945)
- Fixed warnings in CI (2023)
- Fixed Precision for all zero predictions (2017)
- Renamed the default logger (2006)
- Fixed Accumulation metric with Nvidia/Apex (1978)
- Updated code to raise an error if SLURM is used with torch dist launcher (1976)
- Updated `nltk-smooth2` for BLEU metric (1911)
- Added full read permissions to saved file (1876) (1880)
- Fixed a bug with horovod `_do_manual_all_reduce` (1848)
- Fixed small bug in "Finetuning EfficientNet-B0 on CIFAR100" tutorial (2073)
- Fixed f-string in `mnist_save_resume_engine.py` example (2077)
- Fixed an issue when rng states accidentaly on cuda for `DeterministicEngine` (2081)
Housekeeping
<details>
<summary>
A lot of PRs
</summary>
- Test improvements (2061, 2057, 2047, 1962, 1957, 1946, 1943, 1928, 1927, 1915, 1914, 1908, 1906, 1905, 1903, 1902, 1899, 1899, 1882, 1870, 1866, 1860, 1846, 1832, 1828, 1821, 1816, 1815, 1814, 1812, 1811, 1809, 1808, 1807, 1804, 1802, 1801, 1799, 1798, 1797, 1796, 1795, 1793, 1791, 1785, 1784, 1783, 1781, 1776, 1774, 1769, 1768, 1760, 1755, 1746, 1741, 1718, 1717, 1713, 1631)
- Documentation improvements and updates (2058, 2024, 2005, 2003, 2001, 1993, 1990, 1933, 1893, 1849, 1780, 1770, 1727, 1726, 1722, 1686, 1685, 1672, 1671, 1661)
- Example improvements (1924, 1918, 1890, 1827, 1771, 1669, 1658, 1656, 1652, 1642, 1633, 1632)
- CI updates (2075, 2070, 2069, 2068, 2067, 2064, 2044, 2039, 2037, 2023, 1985, 1979, 1940, 1907, 1892, 1888, 1878, 1877, 1873, 1867, 1861, 1847, 1841, 1838, 1837, 1835, 1831, 1818, 1773, 1764, 1761, 1759, 1752, 1745, 1743, 1742, 1739, 1738, 1736, 1724, 1706, 1705, 1667, 1664, 1647)
- Code style improvements (2050, 2014, 1817, 1749, 1747, 1740, 1734, 1732, 1731, 1707, 1703)
- Added docker image test script (1733)
</details>
Acknowledgments
🎉 Thanks to our community and all our contributors for the issues, PRs and 🌟 ⭐️ 🌟 !
💯 We really appreciate your implication into the project (in alphabetical order):
01-vyom, Devanshu24, Juddd, KickItLikeShika, Moh-Yakoub, Muktan, OBITORASU, Priyansi, afzal442, ahmedo42, aksg87, aniezurawski, cozek, devrimcavusoglu, fco-dv, gucifer, log-layer, mouradmourafiq, radekosmulski, sahilg06, sdesrozis, sparkingdark, thomasjpfan, touqir14, trsvchn, vfdev-5, ydcjeff