Catalyst Versions Save

Accelerated deep learning R&D

v22.04

2 years ago

[22.04] - 2022-04-29

Added

  • catalyst-tune for Config API added #1411
  • tests for python 3.9 and 3.10 #1414

Fixed

  • catalyst compatibility with python 3.10 #1409

v22.02.1

2 years ago

[22.02.1] - 2022-02-27

"Few fixes and Config API v22 MVP".

Added

  • catalyst-run for Config API support added #1406

Fixed

  • Logger API naming #1405

v22.02

2 years ago

[22.02] - 2022-02-13

Tl;dr

Added

  • Additional tests for different hardware accelerators setups. Please check out the tests/pipelines folder for more information.
  • BackwardCallback and BackwardCallbackOrder as an abstraction on top of loss.backward. Now you could easily log model gradients or transform them before OptimizerCallback.
  • CheckpointCallbackOrder for ICheckpointCallback.

Changed

  • Minimal python version moved to 3.7, minimal PyTorch version moved to 1.4.0.
  • Engines were rewritten on top of Accelerate. First, we found these two abstractions very close to each other. Second, Accelerate provides additional user-friendly API and more stable API for "Nvidia APEX" and "Facebook Fairscale" - it does not support them.
  • SelfSupervisedRunner moved to the examples folder from the Catalyst API. The only Runners API, that will be supported in the future: IRunner, Runner, ISupervisedRunner, SupervisedRunner due to their consistency. If you are interested in any other Runner API - feel free to write your own CustomRunner and use SelfSupervisedRunner as an example.
  • Runner.{global/stage}_{batch/loader/epoch}_metrics renamed to Runner.{batch/loader/epoch}_metrics
  • CheckpointCallback rewritten from scratch.
  • Catalyst registry moved to full-imports-paths only.
  • Logger API changed to receive IRunner for all log_* methods.
  • Metric API: topk_args renamed to topk.
  • Contrib API: init imports from catalyst.contrib - removed, use from catalyst.contrib.{smth} import {smth}. Could be change to full-imports-only in future versions for stability.
  • All quickstarts, minimal examples, notebooks, and pipelines moved to the new version.
  • Codestyle moved to 89 right margin. Honestly speaking, it's much easier to maintain Catalyst with 89 right margin on MBP'16.

Removed

  • ITrial removed.
  • Stages support removed. While we embrace stages in deep learning experiments, current hardware accelerators are not prepared well for such setups. Additionally, ~95% of dl pipelines are single-stage. Multi-stage runner support is under review. For multi-stage support, please define a CustomRunner with rewritten API.
  • Config/Hydra API support removed. Config API is under review. For now, you could write your own Config API with hydra-slayer if needed.
  • catalyst-dl scripts removed. Without Config API we don't need them anymore.
  • Nvidia Apex, Fairscale, Albumentations, Nifti, Hydra requiremets removed.
  • OnnxCallback, PruningCallback, QuantizationCallback, TracingCallback removed from callbacks API. These callbacks are under review now.

If you have any questions on the Catalyst 22 edition updates, please join Catalyst slack for discussion.

v22.02rc0

2 years ago

[22.02rc0] - 2022-02-07

Tl;dr

Beta version of Catalyst 22 edition.

  • core architecture moved to Animus-like (stages were removed)
  • engines moved to Accelerate
  • config/hydra APIs deprecated in favor of hydra-slayer-custom config runners
  • dl-based scripts removed from the API
  • self-supervised runner moved to examples - it's better to have custom still
  • contrib and utils - truncated
  • requirements - simplified
  • codestyle moved to -l 89 (better view on 16'' screen ;) )

v21.12

2 years ago

[21.12] - 2021-12-28

Tl;dr

Distributed engines update (multi-node support) and many other improvements.

Added

  • MNIST dataset for SSL banchmark (#1368)
  • MoveiLens 20M dataset #1336
  • logger property for logging customization (#1372)
  • MacridVAE example (#1363)
  • SSL benchmark results (#1374)
  • Neptune example (#1377)
  • multi-node support for engines (#1364)

Changed

  • RL examples update to last version (#1370)
  • DDPLoaderWrapper updated to new version (#1385)
  • num_classes for classification metrics became optional (#1379)
  • colab ci/cd update to new verion

Removed

Fixed

  • requests requirements for catalyst[cv] added (#1371)
  • loader step counter (#1374)
  • detection example data preprocessing (#1369)
  • gradient clipping with fp16 runs (#1378)
  • config API fix for DDP runs (#1383)
  • checkpoint creation for fp16 engines (#1382)

Contributors ❤️

@bagxi @ditwoo @MrNightSky @Nimrais @y-ksenia @sergunya17 @Thiefwerty @zkid18

v21.11

2 years ago

[21.11] - 2021-11-30

Tl;dr

Framework architecture simplification and speedup + SSL & RecSys extensions.

Added

  • MultiVAE RecSys example (#1340)`
  • Returned resume support - resolved #1193 (#1349)
  • Smoothing dice loss to contrib (#1344)
  • profile flag for runner.train (#1348)
  • MultiDAE RecSys example (#1356)
  • SETTINGS.log_batch_metrics, SETTINGS.log_epoch_metrics, SETTINGS.compute_per_class_metrics for framework-wise Metric & Logger APIs specification (#1357)
  • log_batch_metrics and log_epoch_metrics options for all available Loggers (#1357)
  • compute_per_class_metrics option for all available multiclass/label metrics (#1357)
  • pytorch benchmark script and simplified MNIST (#1360)

Changed

  • A few framework simplifications were made (#1346):
    • catalyst-contrib scripts reduced to collect-env and project-embeddings only
    • catalyst-dl scripts recuded to run and tune only
    • transforms. prefix deprecated for Catalyst-based transforms
    • catalyst.tools moved to catalyst.extras
    • task-dependent extensions from catalyst.data moved to catalyst.contrib.data
    • catalyst.data.transforms moved to catalyst.contrib.data.transforms
    • Normalize, ToTensor transforms renamed to NormalizeImage, ImageToTensor
    • metric learning extensions moved to catalyst.contrib.data
    • catalyst.contrib moved to code-as-a-documentation development
    • catalyst[cv] and catalyst[ml] extensions moved to flatten architecture design; examples: catalyst.contrib.data.dataset_cv, catalyst.contrib.data.dataset_ml
    • catalyst.contrib moved to flatten architecture design; exampels: catalyst.contrib.data, catalyst.contrib.datasets, catalyst.contrib.layers, catalyst.contrib.models, catalyst.contrib.optimizers, catalyst.contrib.schedulers
    • internal functionality moved to ***._misc modules
    • catalyst.utils.mixup moved to catalyst.utils.torch
    • catalyst.utils.numpy moved to catalyst.contrib.utils.numpy
  • default logging logic moved from "batch & epoch" to "epoch"-only to save computation time during logging; to respecify, please use:
    • SETTINGS.log_batch_metrics=True/False or os.environ["CATALYST_LOG_BATCH_METRICS"]
    • SETTINGS.log_epoch_metrics=True/False or os.environ["CATALYST_LOG_EPOCH_METRICS"]
  • default metrics computation moved from "per-class & aggregations" to "aggregations"-only to save computation time during logging; to respecify, please use:
    • SETTINGS.compute_per_class_metrics=True/False or os.environ["CATALYST_COMPUTE_PER_CLASS_METRICS"]
  • no transformations required for MNIST contrib dataset (#1360

Removed

  • A few framework simplifications were made (#1346):
    • catalyst.contrib.pandas
    • catalyst.contrib.parallel
    • catalyst.contrib.models.cv
    • a few catalyst.utils.misc functions
    • catalyst.extras removed from the public documentation

Fixed

  • documentation search error (21.10 only) (#1346)
  • docs examples (#1362)
  • Self-Supervised benchmark: (#1365), (#1361)

Contributors ❤️

@asteyo @Dokholyan @Nimrais @y-ksenia @sergunya17

v21.10

2 years ago

[21.10] - 2021-10-30

Tl;dr

Readmes and tutorials with a few ddp fixes.

Added

  • RSquareLoss (#1313)
  • Self-Supervised example updates: (#1305), (#1322), (#1325), (#1335)
  • Albert training example (#1326)
  • YOLO-X (new) detection example and refactoring (#1324)
  • TopKMetric asbtraction (#1330)

Changed

  • simlified readme (#1312)
  • improved DDP tutorial (#1327)
  • CMCMetric renamed from <prefix>cmc<suffix><k> to <prefix>cmc<k><suffix> (#1330)

Removed

Fixed

  • Zero seed error (#1329)
  • updated codestyle issues (#1331)
  • TopK metrics: (#1330), (#1334), (#1339)
  • --expdir param for catalyst-dl run (#1338)
  • ControlFlowCallback for distributed setup (#1341)

v21.09

2 years ago

[21.09] - 2021-09-30

Added

  • CometLogger support (#1283)
  • CometLogger examples (#1287)
  • XLA docs (#1288)
  • Contarstive loss functions: NTXentLoss (#1278), SupervisedContrastiveLoss (#1293)
  • Self supervised learning: ISelfSupervisedRunner, SelfSupervisedConfigRunner, SelfSupervisedRunner, SelfSupervisedDatasetWrapper (#1278)
  • SimCLR example (#1278)
  • Superivised Contrastive example (#1293)
  • extra warnings for runner-callbacks interaction (#1295)
  • CategoricalRegressionLoss and QuantileRegressionLoss to the contrib (#1295)
  • R2 score metric (#1274)

Changed

  • Improved WandbLogger to support artifacts and fix logging steps (#1309)
  • full Runner cleanup, with callbacks and loaders destruction, moved to PipelineParallelFairScaleEngine only (#1295)
  • HuberLoss renamed to HuberLossV0 for the PyTorch compatibility (#1295)
  • codestyle update (#1298)
  • BalanceBatchSampler - deprecated (#1303)

Removed

Fixed

Contributors ❤️

@asteyo @AyushExel @bagxi @DN6 @gr33n-made @Nimrais @Podidiving @y-ksenia

v21.09rc1

2 years ago

v21.09rc0

2 years ago

Hi guys, nice project!

This is the test case release to check out our updated infrastructure.