Recent Releases of catalyst
catalyst - Catalyst 22.04
[22.04] - 2022-04-29
Added
Fixed
catalystcompatibility with python 3.10 #1409
- Python
Published by Scitator almost 4 years ago
catalyst - Catalyst 22.02.1
[22.02.1] - 2022-02-27
"Few fixes and Config API v22 MVP".
Added
catalyst-runfor Config API support added #1406
Fixed
- Logger API naming #1405
- Python
Published by Scitator almost 4 years ago
catalyst - Catalyst 22.02
[22.02] - 2022-02-13
Tl;dr
- Catalyst architecture simplification.
- #1395, #1396, #1397, #1398, #1399, #1400, #1401, #1402, #1403.
Added
- Additional tests for different hardware accelerators setups. Please check out the
tests/pipelinesfolder for more information. BackwardCallbackandBackwardCallbackOrderas an abstraction on top ofloss.backward. Now you could easily log model gradients or transform them beforeOptimizerCallback.CheckpointCallbackOrderforICheckpointCallback.
Changed
- Minimal python version moved to
3.7, minimal PyTorch version moved to1.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
examplesfolder from the Catalyst API. The only Runners API, that will be supported in the future:IRunner,Runner,ISupervisedRunner,SupervisedRunnerdue to their consistency. If you are interested in any other Runner API - feel free to write your ownCustomRunnerand useSelfSupervisedRunneras an example. Runner.{global/stage}_{batch/loader/epoch}_metricsrenamed toRunner.{batch/loader/epoch}_metricsCheckpointCallbackrewritten from scratch.- Catalyst registry moved to full-imports-paths only.
- Logger API changed to receive
IRunnerfor alllog_*methods. - Metric API:
topk_argsrenamed totopk. - Contrib API: init imports from
catalyst.contrib- removed, usefrom 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
89right margin. Honestly speaking, it's much easier to maintain Catalyst with89right margin on MBP'16.
Removed
ITrialremoved.- 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
CustomRunnerwith 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-dlscripts removed. Without Config API we don't need them anymore.Nvidia Apex,Fairscale,Albumentations,Nifti,Hydrarequiremets removed.OnnxCallback,PruningCallback,QuantizationCallback,TracingCallbackremoved 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.
- Python
Published by Scitator about 4 years ago
catalyst - Catalyst 22.02rc0
[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 ;) )
- Python
Published by Scitator about 4 years ago
catalyst - Catalyst 21.12
[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_classesfor classification metrics became optional (#1379)- colab ci/cd update to new verion
Removed
-
Fixed
requestsrequirements forcatalyst[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
- Python
Published by Scitator about 4 years ago
catalyst - Catalyst 21.11
[21.11] - 2021-11-30
Tl;dr
Framework architecture simplification and speedup + SSL & RecSys extensions.
Added
- MultiVAE RecSys example (#1340)`
- Returned
resumesupport - resolved #1193 (#1349) - Smoothing dice loss to contrib (#1344)
profileflag forrunner.train(#1348)- MultiDAE RecSys example (#1356)
SETTINGS.log_batch_metrics,SETTINGS.log_epoch_metrics,SETTINGS.compute_per_class_metricsfor framework-wise Metric & Logger APIs specification (#1357)log_batch_metricsandlog_epoch_metricsoptions for all available Loggers (#1357)compute_per_class_metricsoption for all available multiclass/label metrics (#1357)- pytorch benchmark script and simplified MNIST (#1360)
Changed
- A few framework simplifications were made (#1346):
catalyst-contribscripts reduced tocollect-envandproject-embeddingsonlycatalyst-dlscripts recuded torunandtuneonlytransforms.prefix deprecated for Catalyst-based transformscatalyst.toolsmoved tocatalyst.extras- task-dependent extensions from
catalyst.datamoved tocatalyst.contrib.data catalyst.data.transformsmoved tocatalyst.contrib.data.transformsNormalize,ToTensortransforms renamed toNormalizeImage,ImageToTensor- metric learning extensions moved to
catalyst.contrib.data catalyst.contribmoved to code-as-a-documentation developmentcatalyst[cv]andcatalyst[ml]extensions moved to flatten architecture design; examples:catalyst.contrib.data.dataset_cv,catalyst.contrib.data.dataset_mlcatalyst.contribmoved 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
***._miscmodules catalyst.utils.mixupmoved tocatalyst.utils.torchcatalyst.utils.numpymoved tocatalyst.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/Falseoros.environ["CATALYST_LOG_BATCH_METRICS"]SETTINGS.log_epoch_metrics=True/Falseoros.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/Falseoros.environ["CATALYST_COMPUTE_PER_CLASS_METRICS"]
- no transformations required for MNIST contrib dataset (#1360
Removed
- A few framework simplifications were made (#1346):
catalyst.contrib.pandascatalyst.contrib.parallelcatalyst.contrib.models.cv- a few
catalyst.utils.miscfunctions catalyst.extrasremoved 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
- Python
Published by Scitator about 4 years ago
catalyst - Catalyst 21.10
[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)
TopKMetricasbtraction (#1330)
Changed
- simlified readme (#1312)
- improved DDP tutorial (#1327)
CMCMetricrenamed 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)
--expdirparam forcatalyst-dl run(#1338)- ControlFlowCallback for distributed setup (#1341)
- Python
Published by Scitator over 4 years ago
catalyst - Catalyst 21.09
[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)
CategoricalRegressionLossandQuantileRegressionLossto thecontrib(#1295)- R2 score metric (#1274)
Changed
- Improved
WandbLoggerto support artifacts and fix logging steps (#1309) - full
Runnercleanup, with callbacks and loaders destruction, moved toPipelineParallelFairScaleEngineonly (#1295) HuberLossrenamed toHuberLossV0for the PyTorch compatibility (#1295)- codestyle update (#1298)
- BalanceBatchSampler - deprecated (#1303)
Removed
-
Fixed
Contributors ❤️
@asteyo @AyushExel @bagxi @DN6 @gr33n-made @Nimrais @Podidiving @y-ksenia
- Python
Published by Scitator over 4 years ago
catalyst - Catalyst 21.09rc1 - release wheels update check 2.0
- Python
Published by Scitator over 4 years ago
catalyst - Catalyst 21.09rc0 - release wheels update check
Hi guys, nice project!
This is the test case release to check out our updated infrastructure.
- Python
Published by Scitator over 4 years ago
catalyst - Catalyst 21.08
[21.08] - 2021-08-31
Added
- RecSys loss functions:
AdaptiveHingeLoss,BPRLoss,HingeLoss,LogisticLoss,RocStarLoss,WARPLoss(#1269, #1282) - object detection examples (#1271)
- SklearnModelCallback (#1261)
- Barlow Twins example (#1261)
- TPU/XLA support (#1275)
- with updated example
- native
sync_bnsupport for all available engines (#1275)- Torch, AMP, Apex, FairScale
Changed
- Registry moved to
hydra-slayer(#1264)) - (#1275)
- batch metrics sync removed from ddp-runs to speedup training process
AccumulationMetricrenamed toAccumulativeMetric- moved from
catalyst.metrics._metrictocatalyst.metrics._accumulative accululative_fieldsrenamed tokeys
Removed
-
Fixed
- PeriodicLoaderCallback docsting (#1279)
- matplotlib issue (#1272)
- sample counter for the loader (#1285)
Contributors ❤️
@bagxi @Casyfill @ditwoo @Nimrais @penguinflys @sergunya17 @zkid18
- Python
Published by Scitator over 4 years ago
catalyst - Catalyst 21.07
[21.07] - 2021-07-29
Added
- added
pre-commithook to run codestyle checker on commit (#1257) on publishgithub action for docker and docs added (#1260)- MixupCallback and
utils.mixup_batch(#1241) - Barlow twins loss (#1259)
- BatchBalanceClassSampler (#1262)
Changed
-
Removed
-
Fixed
- make
expdirincatalyst-dl runoptional (#1249) - Bump neptune-client from 0.9.5 to 0.9.8 in
requirements-neptune.txt(#1251) - automatic merge for master (with Mergify) fixed (#1250)
- Evaluate loader custom model bug was fixed (#1254)
BatchPrefetchLoaderWrapperissue with batch-based PyTorch samplers (#1262)- Adapted MlflowLogger for new config hierarchy (#1263)
Contributors ❤️
@AlekseySh @bagxi @Casyfill @Dokholyan @leoromanovich @Nimrais @y-ksenia
- Python
Published by Scitator over 4 years ago
catalyst - Catalyst 21.06
[21.06] - 2021-06-29
Added
- (#1230)
- FairScale support
- DeepSpeed support
utils.ddp_sync_runfunction for synchronous ddp run- CIFAR10 and CIFAR100 datasets from torchvision (no cv-based requirements)
- Catalyst Engines demo
dataset_from_paramssupport in config API (#1231)- transform from params support for config API added (#1236)
- samplers from params support for config API added (#1240)
- recursive registry.getfromparams added (#1241)
- albumentations integration (#1238)
- Profiler callback (#1226)
Changed
- (#1230)
- loaders creation now wrapper with
utils.ddp_sync_runforutils.ddp_sync_rundata preparation - runner support stage cleanup: loaders and callbacks will be deleted on the stage end
- Apex-based engines now support both APEXEngine and ApexEngine registry names
- loaders creation now wrapper with
Fixed
- multiprocessing in minimal tests hotfix (#1232)
- Tracing callback hotfix (#1234)
- Engine hotfix for
predict_loader(#1235) - (#1230)
- Hydra hotfix due to
1.1.0version changes
- Hydra hotfix due to
HuberLossname conflict for pytorch 1.9 hotfix (#1239)
Contributors ❤️
@bagxi @y-ksenia @ditwoo @BorNick @Inkln
- Python
Published by Scitator over 4 years ago
catalyst - Catalyst 21.05
[21.05] - 2021-05-31
Added
- Reinforcement learning tutorials (#1205)
- customization demo (#1207)
- FAQ docs: multiple input and output keys, engine tutorial (#1202)
- minimal Config API example (#1215)
- Distributed RL example (Catalyst.RL 2.0 concepts) (#1224)
- SklearnCallback as integration of sklearn metrics (#1198)
Changed
- tests moved to
testsfolder (#1208) - pipeline tests moved to
tests/pipelines(#1215) - updated NeptuneLogger docstrings (#1223)
Removed
-
Fixed
- customizing what happens in
train()notebook (#1203) - transforms imports under catalyst.data (#1211)
- change layerwise to layerwise_params (#1210)
- add torch metrics support (#1195)
- add Config API support for BatchTransformCallback (#1209)
BONUS: Catalyst workshop videos!
- Python
Published by Scitator over 4 years ago
catalyst - Catalyst 21.04.2
[21.04.2] - 2021-04-30
Added
- Weights and Biases Logger (
WandbLogger) (#1176) - Neptune Logger (
NeptuneLogger) (#1196) log_artifactmethod for logging arbitrary files like audio, video, or model weights toILoggerandIRunner(#1196)
- Python
Published by Scitator almost 5 years ago
catalyst - Catalyst 21.04.1
- a small hotfix for
catalyst.contribmodule
- Python
Published by Scitator almost 5 years ago
catalyst - Catalyst 21.04
[21.04] - 2021-04-17
Added
- Nifti Reader (NiftiReader) (#1151)
- CMC score and callback for ReID task (ReidCMCMetric and ReidCMCScoreCallback) (#1170)
- Market1501 metric learning datasets (Market1501MLDataset and Market1501QGDataset) (#1170)
- extra kwargs support for Engines (#1156)
- engines exception for unknown model type (#1174)
- a few docs to the supported loggers (#1174)
Changed
TensorboardLoggerswitched fromglobal_batch_stepcounter toglobal_sample_stepone (#1174)TensorboardLoggerlogs loader metricon_loader_endrather thanon_epoch_end(#1174)prefixrenamed tometric_keyforMetricAggregationCallback(#1174)micro,macroandweightedaggregations renamed to_micro,_macroand_weighted(#1174)BatchTransformCallbackupdated (#1153)
Removed
- auto
torch.sigmoidusage formetrics.AUCMetricandmetrics.auc(#1174)
Fixed
- hitrate calculation issue (#1155)
- ILoader wrapper usage issue with Runner (#1174)
- counters for ddp case (#1174)
- Python
Published by Scitator almost 5 years ago
catalyst -
[21.03.1] - 2021-03-28
Added
- Additive Margin SoftMax(AMSoftmax)(#1125)
- Generalized Mean Pooling(GeM)(#1084)
- Key-value support for CriterionCallback (#1130)
- Engine configuration through cmd (#1134)
- Extra utils for thresholds (#1134)
- Added gradient clipping function to optimizer callback (1124)
- FactorizedLinear to contrib (1142)
- Extra init params for
ConsoleLogger(1142) - Tracing, Quantization, Onnx, Pruninng Callbacks (1127)
_key_valuefor schedulers in case of multiple optimizers fixed (#1146)
Changed
- CriterionCallback now inherits from BatchMetricCallback #1130)
- united metrics computation logic
Removed
Fixed
- Data-Model device sync and
Enginelogic duringrunner.predict_loader(#1134) - BatchLimitLoaderWrapper logic for loaders with shuffle flag (#1136)
- config description in the examples (1142)
- Config API deprecated parsings logic (1142) (1138)
- RecSys metrics Top_k calculations (#1140)
- Python
Published by Scitator almost 5 years ago
catalyst - Catalyst 21.03
The v20 is dead, long live the v21!
[21.03] - 2021-03-13 (#1095)
Added
Engineabstraction to support various hardware backends and accelerators: CPU, GPU, multi GPU, distributed GPU, TPU, Apex, and AMP half-precision training.Loggerabstraction to support various monitoring tools: console, tensorboard, MLflow, etc.Trialabstraction to support various hyperoptimization tools: Optuna, Ray, etc.Metricabstraction to support various of machine learning metrics: classification, segmentation, RecSys and NLP.- Full support for Hydra API.
- Full DDP support for Python API.
- MLflow support for metrics logging.
- United API for model post-processing: tracing, quantization, pruning, onnx-exporting.
- United API for metrics: classification, segmentation, RecSys, and NLP with full DDP and micro/macro/weighted/etc aggregations support.
Changed
Experimentabstraction merged intoRunnerone.- Runner, SupervisedRunner, ConfigRunner, HydraRunner architectures and dependencies redesigned.
- Internal settings and registry mechanisms refactored to be simpler, user-friendly and more extendable.
- Bunch of Config API test removed with Python API and pytest.
- Codestyle now supports up to 99 symbols per line :)
- All callbacks/runners moved for contrib to the library core if was possible.
Runnerabstraction simplified to store only current state of the experiment run: all validation logic was moved to the callbacks (by this way, you could easily select best model on various metrics simultaneously).Runner.inputandRunner.outputmerged into unitedRunner.batchstorage for simplicity.- All metric moved from
catalyst.utils.metricstocatalyst.metrics. - All metrics now works on scores/metric-defined-input rather that logits (!).
- Logging logic moved from
Callbacksto appropriateLoggers. KorniaCallbacksrefactored toBatchTransformCallback.
Removed
- Lots of unnecessary contrib extensions.
- Transforms configuration support through Config API (could be returned in next releases).
- Integrated Python cmd command for model pruning, swa, etc (should be returned in next releases).
CallbackOrder.ValidationandCallbackOrder.Logging- All 2020 year backward compatibility fixes and legacy support.
Fixed
- Docs rendering simplified.
- LrFinderCallback.
Release docs, Python API minimal examples, Config/Hydra API example.
- Python
Published by Scitator almost 5 years ago
catalyst - Catalyst 20.12
[20.12] - 2020-12-20
Added
- CVS Logger (#1005)
- DrawMasksCallback (#999)
- (#1002)
- a few docs
- (#998)
reciprocal_rankmetric- unified recsys metrics preprocessing
- (#1018)
- readme examples for all supported metrics under
catalyst.metrics wrap_metric_fn_with_activationfor model outputs wrapping with activation- extra tests for metrics
- readme examples for all supported metrics under
- (#1039)
per_class=Falseoption for metrics callbacksPrecisionCallack,RecallCallackfor multiclass problems- extra docs
Changed
- docs update (#1000)
AMPOptimizerCallbackandOptimizerCallbackwere merged (#1007)- (#1017)
- fixed bug in
SchedulerCallback - Log LRs and momentums for all param groups, not only for the first one
- fixed bug in
- (#1002)
tensorboard, ipython, matplotlib, pandas, scikit-learnmoved to optional requirementsPerplexityMetricCallbackmoved tocatalyst.callbacksfromcatalyst.contrib.callbacksPerplexityMetricCallbackrenamed toPerplexityCallbackcatalyst.contrib.utils.confusion_matrixrenamed tocatalyst.contrib.utils.torch_extra- many parts of
catalyst.datamoved tocatalyst.contrib.data catalyst.data.scriptsmoved tocatalyst.contrib.scriptscatalyst.utils,catalyst.data.utilsandcatalyst.contrib.utilsrestructuredReaderSpecrenamed toIReaderSupervisedExperimentrenamed toAutoCallbackExperiment
- gain functions renamed for
dcg/ndcgmetrics (#998) - (#1014)
- requirements respecification:
catalyst[cv],catalyst[dev],catalyst[log],catalyst[ml],catalyst[nlp],catalyst[tune] - settings respecification
- extra tests for settings
- contrib refactoring
- requirements respecification:
- iou and dice metrics moved to per-class computation (#1031)
Removed
- (#1002)
KNNMetricCallbacksklearnmode forConfusionMatrixLoggercatalyst.data.utils- unnecessary
catalyst.tools.meters - todos for unnecessary docs
- (#1014)
- transformers-based contrib (too unstable)
- (#1018)
- ClasswiseIouCallback/ClasswiseJaccardCallback as deprecated on (should be refactored in future releases)
Fixed
- prevented modifying config during the experiment and runner initialization (#1004)
- a few test for RecSys MAP computation (#1018)
- leave batch size the same for default distributed training (#1023)
- (#1032)
- Apex: now you can use apex for multiple models training
- Apex: DataParallel is allowed for opt_level other than "O1"
- Python
Published by Scitator about 5 years ago
catalyst - Catalyst 20.11
[20.11] - 2020-11-12
Added
- DCG, nDCG metrics (#881)
- MAP calculations #968
- hitrate calculations #975
- extra functions for classification metrics (#966)
OneOfandOneOfV2batch transforms (#951)precision_recall_fbeta_supportmetric (#971)- Pruning tutorial (#987)
- BatchPrefetchLoaderWrapper (#986)
- DynamicBalanceClassSampler (#954)
Changed
- update Catalyst version to
20.10.1for tutorials (#967) - added link to dl-course (#967)
IRunner-> simplifiedIRunner(#984)- docs were restructured (#985)
set_global_seedmoved fromutils.seedtoutils.misc(#986)
Removed
Fixed
BatchTransformCallback- addnn.Moduletransforms support (#951)- moved to
contiguousview for accuracy computation (#982) - fixed torch warning on
optimizer.py:140(#979)
- Python
Published by Scitator about 5 years ago
catalyst - Catalyst 20.10.1
[20.10.1] - 2020-10-15
Added
- MRR metrics calculation (#886)
- docs for MetricCallbacks (#947)
- SoftMax, CosFace, ArcFace layers to contrib (#939)
- ArcMargin layer to contrib (#957)
- AdaCos to contrib (#958)
- Manual SWA to utils (#945)
Changed
- fixed path to
CHANGELOG.mdfile and add information about unit test toPULL_REQUEST_TEMPLATE.md([#955])(https://github.com/catalyst-team/catalyst/pull/955) catalyst-dl tuneconfig specification - now optuna params are grouped understudy_params(#947)IRunner._prepare_for_stagelogic moved toIStageBasedRunner.prepare_for_stage(#947)- now we create components in the following order: datasets/loaders, model, criterion, optimizer, scheduler, callbacks
MnistMLDatasetandMnistQGDatasetdata split logic - now targets of the datasets are disjoint (#949)- architecture redesign (#953)
- experiments, runners, callbacks grouped by primitives under
catalyst.experiments/catalyst.runners/catalyst.callbacksrespectively - settings and typing moved from
catalyst.tools.*tocatalyst.* - utils moved from
catalyst.*.utilstocatalyst.utils
- experiments, runners, callbacks grouped by primitives under
- swa moved to
catalyst.utils(#963)
Removed
Fixed
AMPOptimizerCallback- fix grad clip fn support (#948)- removed deprecated docs types (#947) (#952)
- docs for a few files (#952)
- extra backward compatibility fixes (#963)
- Python
Published by Scitator about 5 years ago
catalyst - Catalyst 20.09.1
[20.09.1] - 2020-09-25
Added
- Runner registry support for Config API (#936)
catalyst-dl tunecommand - Optuna with Config API integration for AutoML hyperparameters optimization (#937)OptunaPruningCallbackalias forOptunaCallback(#937)- AdamP and SGDP to
catalyst.contrib.nn.criterion(#942)
Changed
- Config API components preparation logic moved to
utils.prepare_config_api_components(#936)
Removed
Fixed
- Python
Published by Scitator about 5 years ago
catalyst - Catalyst 20.09
[20.09] - 2020-09-07
Added
MovieLens datasetloader (#903)forceandbert-levelkeywords tocatalyst-data text2embedding(#917)OptunaCallbacktocatalyst.contrib(#915)DynamicQuantizationCallbackandcatalyst-dl quantizescript for fast quantization of your model (#890)- Multi-scheduler support for multi-optimizer case (#923)
- Native mixed-precision training support (#740)
OptiomizerCallback- flaguse_fast_zero_gradfor faster (and hacky) version ofoptimizer.zero_grad()(#927)IOptiomizerCallback,ISchedulerCallback,ICheckpointCallback,ILoggerCallbackas core abstractions for Callbacks (#933)- flag
USE_AMPfor PyTorch AMP usage (#933)
Changed
Removed
Fixed
- autoresume option for Config API (#907)
- a few issues with TF projector (#917)
- batch sampler speed issue (#921)
- add apex key-value optimizer support (#924)
- runtime warning for PyTorch 1.6 (920)
- Apex synbn usage (920)
- Catalyst dependency on system git (922)
- Python
Published by Scitator about 5 years ago
catalyst - Catalyst 20.08
[20.08] - 2020-08-09
Added
CMCScoreCallback(#880)- kornia augmentations
BatchTransformCallback(#862) average_precisionandmean_average_precisionmetrics (#883)MultiLabelAccuracyCallback,AveragePrecisionCallbackandMeanAveragePrecisionCallbackcallbacks (#883)- minimal examples for multiclass and multilabel classification (#883)
- experimental TPU support (#893)
- add
Imagenette,Imagewoof, andImagewangdatasets (#902) IMetricCallback,IBatchMetricCallback,ILoaderMetricCallback,BatchMetricCallback,LoaderMetricCallbackabstractions (#897)HardClusterSamplerinbatch sampler (#888)
Changed
- all registries merged to one
catalyst.registry(#883) mean_average_precisionlogic merged withaverage_precision(#897)- all imports moved to absolute (#905)
catalyst.contrib.datamerged tocatalyst.data(#905)- {breaking} Catalyst transform
ToTensorwas renamed toImageToTensor(#905) TracerCallbackmoved tocatalyst.dl(#905)ControlFlowCallback,PeriodicLoaderCallbackmoved tocatalyst.core(#905)
Removed
Fixed
- Python
Published by Scitator about 5 years ago
catalyst - Catalyst 20.07
[20.07] - 2020-07-06
Added
logparameter toWandbLogger(#836)- hparams experiment property (#839)
- add docs build on push to master branch (#844)
WrapperCallbackandControlFlowCallback(#842)BatchOverfitCallback(#869)overfitflag for Config API (#869)InBatchSamplers:AllTripletsSamplerandHardTripletsSampler(#825)
Changed
- Renaming (#837)
SqueezeAndExcitation->cSEChannelSqueezeAndSpatialExcitation->sSEConcurrentSpatialAndChannelSqueezeAndChannelExcitation->scSE_MetricCallback->IMetricCallbackdl.Experiment.process_loaders->dl.Experiment._get_loaders
LRUpdaterbecome abstract class (#837)calculate_confusion_matrix_from_arrayschanged params order (#837)dl.Runner.predict_loaderuses_prepare_inner_stateand cleansexperiment(#863)tomlto the dependencies (#872)
Removed
crc32cdependency (#872)
Fixed
workflows/deploy_push.ymlfailed to push some refs (#864).dependabot/config.ymlcontained invalid details (#781)LanguageModelingDataset(#841)global_*counters inRunner(#858)- EarlyStoppingCallback considers first epoch as bad (#854)
- annoying numpy warning (#860)
PeriodicLoaderCallbackoverwrites best state (#867)OneCycleLRWithWarmup(#851)
- Python
Published by Scitator about 5 years ago
catalyst - Catalyst 20.06
[20.06] - 2020-06-04
Added
Changed
- docs structure were updated during (#822)
utils.process_componentsmoved fromutils.distributedtoutils.components(#822)catalyst.core.state.Statemerged tocatalyst.core.runner._Runner(#823) (backward compatibility included)catalyst.core.callback.Callbacknow works directly withcatalyst.core.runner._Runnerstate_kwargsrenamed tostage_kwargs
Removed
Fixed
- added missed dashes in docker perfixes (#828)
[20.05.1] - 2020-05-23
Added
- Circle loss implementation (#802)
- BatchBalanceSampler for metric learning and classification (#806)
CheckpointCallback: new argumentload_on_stage_startwhich acceptsstrandDict[str, str](#797)- LanguageModelingDataset to catalyst[nlp] (#808)
- Extra counters for batches, loaders and epochs (#809)
TracerCallback(#789)
Changed
CheckpointCallback: additional logic for argumentload_on_stage_end- acceptsstrandDict[str, str](#797)- counters names for batches, loaders and epochs (#809)
utils.trace_model: changed logic -runnerargument was changed topredict_fn(#789)- redesigned
contrib.dataandcontrib.datasets(#820) catalyst.utils.metersmoved tocatalyst.tools(#820)catalyst.contrib.utils.tools.tensorboardmoved tocatalyst.contrib.tools(#820)
Removed
Fixed
- Python
Published by Scitator over 5 years ago
catalyst - Catalyst 20.03.1
tl;dr
We finally organise Experiment-Runner-State-Callback as it should be. We also have great documentation update!
Core
Experiment - an abstraction that contains information about the experiment – a model, a criterion, an optimizer, a scheduler, and their hyperparameters. It also contains information about the data and transformations used. In general, the Experiment knows what you would like to run.
Runner - a class that knows how to run an experiment. It contains all the logic of how to run the experiment, stages, epoch and batches.
State - some intermediate storage between Experiment and Runner that saves the current state of the Experiments – model, criterion, optimizer, schedulers, metrics, loaders, callbacks, etc
Callback - a powerful abstraction that lets you customize your experiment run logic. To give users maximum flexibility and extensibility we allow callback execution anywhere in the training loop ``` onstagestart onepochstart onloaderstart onbatchstart # ... onbatchend onepochend onstageend
on_exception ```
How to combine them together?
First of all - just read the docs for State, Experiment, Runner and Callback abstractions. Long story short, State just saves everything during experiment and passes to every Callback in Experiment through Runner.run_event. For example, usual case, for some custom metric implementation, all you need to do is ``` from catalyst.dl import Callback, State
class MyPureMetric(Callback): def onbatchend(self, state: State): """To store batch-based metrics""" state.batchmetrics[{metricname}] = metric_value
def onloaderend(self, state: State): """To store loader-based metrics""" state.loadermetrics[{metricname}] = metric_value
def onepochend(self, state: State): """To store epoch-based metrics""" state.epochmetrics[{metricname}] = metric_value
```
There are coming many more Catalyst concepts, tutorials and docs in near future.
Callback updates
- CheckRunCallback - allows you to check the pipeline correctness during long-run training
- TimerCallback - enables / disables the calculation of the work speed of your training, like
data time per batch,model time per batch,samples per second - MetricManagerCallback - transfers torch tensors to numpy and calculates statistics
- ValidationManagerCallback - collects validation metrics and checks if it's the best epoch
Catalyst best practices
Working with Catalyst.DL it's better to import everything in straightforward way like ``` from catalyst.dl import SomethingGreat from catalyst.dl import utils
utils.dosomethingcool() ```
Breaking changes
CriterionAggregatorCallbackmoved to catalyst.contrib and will be deprecated in20.04release.- For
SchedulerCallbackreduce_metricwas renamed toreduced_metric:) - We have update metric recording mechanism for State-Callback,
Future work
During 20.03 -> 20.04 releases, we are going to deprecate all SomeContribRunner and transfer them to SomeContribLogger as more general purpose solution.
- Python
Published by Scitator almost 6 years ago
catalyst - 20.02.2
Catalyst 20.02.2
Overall
- scripts update
- formatting update
- project manifesto https://github.com/catalyst-team/catalyst/pull/532
- Alchemy intro https://github.com/catalyst-team/catalyst/pull/563 https://github.com/catalyst-team/catalyst/pull/564
- Travis -> TeamCity CI https://github.com/catalyst-team/catalyst/pull/597 https://github.com/catalyst-team/catalyst/pull/616 https://github.com/catalyst-team/catalyst/pull/634
- Core init https://github.com/catalyst-team/catalyst/pull/578
- tests global update https://github.com/catalyst-team/catalyst/pull/661
DL
- config wizard https://github.com/catalyst-team/catalyst/pull/499
- Triplet loss contribution https://github.com/catalyst-team/catalyst/pull/504
- TelegramLogger support https://github.com/catalyst-team/catalyst/pull/471
- Trace support for fp16 and Nvidia Apex https://github.com/catalyst-team/catalyst/pull/497
- runner params fix https://github.com/catalyst-team/catalyst/pull/545 https://github.com/catalyst-team/catalyst/pull/633
- weighted sum support for loss calculation https://github.com/catalyst-team/catalyst/pull/535
- classwise IOU support https://github.com/catalyst-team/catalyst/pull/533
- BERT text classification example https://github.com/catalyst-team/catalyst/pull/540
- Ralamb contribution https://github.com/catalyst-team/catalyst/pull/551
- samplers params support https://github.com/catalyst-team/catalyst/pull/550
- KNNMetricCallback contribution https://github.com/catalyst-team/catalyst/pull/560
- MetricAggregationCallback contribution https://github.com/catalyst-team/catalyst/pull/591
- text to embeddings script https://github.com/catalyst-team/catalyst/pull/596 https://github.com/catalyst-team/catalyst/pull/601
- Several metric learning features https://github.com/catalyst-team/catalyst/pull/589 https://github.com/catalyst-team/catalyst/pull/598 https://github.com/catalyst-team/catalyst/pull/599
- Neptune integration https://github.com/catalyst-team/catalyst/pull/571
- transforms params support https://github.com/catalyst-team/catalyst/pull/595 https://github.com/catalyst-team/catalyst/pull/604
- SMP integration https://github.com/catalyst-team/catalyst/pull/600
- GAN 2.0 https://github.com/catalyst-team/catalyst/pull/607 https://github.com/catalyst-team/catalyst/pull/585
- Cutmix callback contribution https://github.com/catalyst-team/catalyst/pull/635
- RMS Normalization contribution https://github.com/catalyst-team/catalyst/pull/649
- EarlyStoppingCallback fix https://github.com/catalyst-team/catalyst/pull/664
- better distributed & slurm support https://github.com/catalyst-team/catalyst/pull/639 https://github.com/catalyst-team/catalyst/pull/629 https://github.com/catalyst-team/catalyst/pull/662 https://github.com/catalyst-team/catalyst/pull/628
- Python
Published by Scitator about 6 years ago
catalyst - Catalyst 19.11
Catalyst 19.10 -> 19.11
Achievements
NeurIPS 2019: Learn to Move - Walk Around, 2nd place
Overall
- pergpuscale feature for multi-gpu experiment runs https://github.com/catalyst-team/catalyst/pull/406
- contribution guide update https://github.com/catalyst-team/catalyst/pull/422
- image extension check https://github.com/catalyst-team/catalyst/pull/432
- pytorch.tensorboard support https://github.com/catalyst-team/catalyst/pull/439
- docker update https://github.com/catalyst-team/catalyst/pull/463 https://github.com/catalyst-team/catalyst/pull/476
- documentation update https://github.com/catalyst-team/catalyst/pull/475
- codestyle formatting update https://github.com/catalyst-team/catalyst/pull/477
DL
- GAN example https://github.com/catalyst-team/catalyst/pull/407
- wandb fix https://github.com/catalyst-team/catalyst/pull/410
- data mixins https://github.com/catalyst-team/catalyst/pull/412
- jupyter notebooks dump feature https://github.com/catalyst-team/catalyst/pull/413
- segmentation tutorial https://github.com/catalyst-team/catalyst/pull/415 https://github.com/catalyst-team/catalyst/pull/441 https://github.com/catalyst-team/catalyst/pull/451
- exponential format support for Config API https://github.com/catalyst-team/catalyst/pull/418
- pytorch 1.3 naming issue fix https://github.com/catalyst-team/catalyst/pull/447
- MaskReader https://github.com/catalyst-team/catalyst/pull/446
- Epoch num: 0 to 1 https://github.com/catalyst-team/catalyst/pull/411
- wandb logging fix https://github.com/catalyst-team/catalyst/pull/458
- all metrics logging to checkpoint https://github.com/catalyst-team/catalyst/pull/455
- imread fix https://github.com/catalyst-team/catalyst/pull/473
- Global Precision/Recall/F1 Callback https://github.com/catalyst-team/catalyst/pull/433
- Loggers logic update https://github.com/catalyst-team/catalyst/pull/443
- runner device fix https://github.com/catalyst-team/catalyst/pull/482
- checkpoint callback path correctness fix https://github.com/catalyst-team/catalyst/pull/484
RL
- observation inconsistency exception feature https://github.com/catalyst-team/catalyst/pull/461
- RL-2019 comments & updates https://github.com/catalyst-team/catalyst/pull/483
- Python
Published by Scitator over 6 years ago
catalyst - Catalyst 19.10
Catalyst 19.09 -> 19.10
Achievements
NeurIPS 2019: Recursion Cellular Image Classification - 4th place solution writeup - 8th place solution
Overall
- LAMA refactoring https://github.com/catalyst-team/catalyst/pull/353
- TemporalConcatPooling https://github.com/catalyst-team/catalyst/pull/355
- Extensions on/off support https://github.com/catalyst-team/catalyst/pull/368
- Hall of Glory update https://github.com/catalyst-team/catalyst/pull/385
- binarymasktooverlayimage refactoring https://github.com/catalyst-team/catalyst/pull/387
- getutcnowtime feature https://github.com/catalyst-team/catalyst/pull/389
- image preprocessing refactoring https://github.com/catalyst-team/catalyst/pull/398
- TF seed fix https://github.com/catalyst-team/catalyst/pull/399
- shorthand for bool flag https://github.com/catalyst-team/catalyst/pull/405
DL
- Table data tutorial https://github.com/catalyst-team/catalyst/pull/351
- Wandb integration tutorial https://github.com/catalyst-team/catalyst/commit/365ed7d6fdb9e5aa515ef52612e403fdd3270ac8
- lovasz loss fix https://github.com/catalyst-team/catalyst/pull/359
- SupervisedRunner, one loader handling https://github.com/catalyst-team/catalyst/pull/362
- SupervisedRunner.predict_loader, model support https://github.com/catalyst-team/catalyst/pull/367
- resume from previous stage fix https://github.com/catalyst-team/catalyst/pull/328
- CriterionAggregator https://github.com/catalyst-team/catalyst/pull/361
- Weight decay decoupling https://github.com/catalyst-team/catalyst/pull/370
- Binary class support for AccuracyCallback https://github.com/catalyst-team/catalyst/pull/374
- SupervisedRunner.train, resume feature https://github.com/catalyst-team/catalyst/pull/377
- Apex distributed synchronised batchnorm support https://github.com/catalyst-team/catalyst/pull/379
- Catalyst Init feature https://github.com/catalyst-team/catalyst/pull/372
- Dict transform support for MergeDataset https://github.com/catalyst-team/catalyst/pull/388
- BCEDiceLoss weights support https://github.com/catalyst-team/catalyst/pull/394
- Multi-label accuracy support https://github.com/catalyst-team/catalyst/pull/381
- PyTorch loaders additional params support https://github.com/catalyst-team/catalyst/pull/397
RL
- RL networks refactoring – MLP and CNN policies support https://github.com/catalyst-team/catalyst/pull/352
- Mongo reconnection support https://github.com/catalyst-team/catalyst/pull/354
- RL tests refactoring https://github.com/catalyst-team/catalyst/pull/357 https://github.com/catalyst-team/catalyst/pull/369
- EnvWrapper feature https://github.com/catalyst-team/catalyst/pull/358
- Raw reward fix https://github.com/catalyst-team/catalyst/pull/373
- deterministic RL https://github.com/catalyst-team/catalyst/pull/393
- Large files support for MongoDB https://github.com/catalyst-team/catalyst/pull/396
- Python
Published by Scitator over 6 years ago
catalyst - Catalyst 19.09
Catalyst 19.08 -> 19.09
Ecosystem
We are happy to announce MLComp release – a distributed DAG (Directed acyclic graph) framework for machine learning with UI. Powered by Catalyst.Team.
We also release a detailed classification tutorial and comprehensive classification pipeline.
Slowly-slowly, more and more challenges are powered by catalyst https://github.com/catalyst-team/catalyst/pull/302.
We also update the licence to Apache 2.0, start the Patreon and even run catalyst-info repo!
And finally, we have integrate wandb to the catalyst, both DL & RL!
Overall
- config dump to tensorboard https://github.com/catalyst-team/catalyst/pull/284 – even more reproducibility for both DL and RL
- bash scripts for
parallel-gpu-runandcatalyst-rl-runhttps://github.com/catalyst-team/catalyst/pull/288 - improver CUDNN deterministic and CUDNN benchmark support https://github.com/catalyst-team/catalyst/pull/299 https://github.com/catalyst-team/catalyst/pull/309
- available gpus check feature https://github.com/catalyst-team/catalyst/pull/300
- SequentialNet update with "soft" residual mode https://github.com/catalyst-team/catalyst/pull/301
- docs update https://github.com/catalyst-team/catalyst/pull/303 https://github.com/catalyst-team/catalyst/pull/336
- layer-wise learning rate support https://github.com/catalyst-team/catalyst/pull/283
- torchnet dependency removal https://github.com/catalyst-team/catalyst/pull/304
- environment variables and packages versions dump to tensorboard https://github.com/catalyst-team/catalyst/pull/313 https://github.com/catalyst-team/catalyst/pull/317
- tracing script update https://github.com/catalyst-team/catalyst/pull/319
- additional general case CV scripts https://github.com/catalyst-team/catalyst/pull/321
- RAdam, LookAhead, Ranger optimizers support https://github.com/catalyst-team/catalyst/pull/332
- wandb integration https://github.com/catalyst-team/catalyst/pull/337 https://github.com/catalyst-team/catalyst/pull/339 https://github.com/catalyst-team/catalyst/pull/341
DL
- Exception handling support for callbacks https://github.com/catalyst-team/catalyst/pull/281 https://github.com/catalyst-team/catalyst/pull/307
- tests update https://github.com/catalyst-team/catalyst/pull/286
- traced models support for dataset prediction https://github.com/catalyst-team/catalyst/pull/287
- tensorboard logger fix https://github.com/catalyst-team/catalyst/pull/294
state_dictparam support for all contrib encoders https://github.com/catalyst-team/catalyst/pull/292- bias weight decay autoremove https://github.com/catalyst-team/catalyst/pull/293
- checkpoint save on exception https://github.com/catalyst-team/catalyst/pull/295
- classification tutorial https://github.com/catalyst-team/catalyst/pull/296 https://github.com/catalyst-team/catalyst/pull/297 https://github.com/catalyst-team/catalyst/pull/326
- better console logging https://github.com/catalyst-team/catalyst/pull/298
- segmentation models support for dl registry https://github.com/catalyst-team/catalyst/pull/329
- one-hot feature https://github.com/catalyst-team/catalyst/pull/331
- accuracy metric fix https://github.com/catalyst-team/catalyst/pull/340
- path dataset support https://github.com/catalyst-team/catalyst/pull/335
- callback ordering support https://github.com/catalyst-team/catalyst/pull/343
- encoders
requires_gradlogic update https://github.com/catalyst-team/catalyst/pull/346
RL
- DB dump/load refactoring https://github.com/catalyst-team/catalyst/pull/318
- mongo fix https://github.com/catalyst-team/catalyst/pull/345
- Python
Published by Scitator over 6 years ago
catalyst - Catalyst 19.08
Catalyst 19.07 -> 19.08
Overall
- module import fix https://github.com/catalyst-team/catalyst/pull/240
- TF projector fix https://github.com/catalyst-team/catalyst/pull/272
- docs update https://github.com/catalyst-team/catalyst/pull/279
DL
- updated InferMaskCallback https://github.com/catalyst-team/catalyst/pull/252
- scientific notation https://github.com/catalyst-team/catalyst/pull/248
- tracing tests https://github.com/catalyst-team/catalyst/pull/255
- BaseExperiment update https://github.com/catalyst-team/catalyst/pull/269
- BatchSamler support https://github.com/catalyst-team/catalyst/pull/271
- metrics.json feature https://github.com/catalyst-team/catalyst/pull/266
- auto accuracy args https://github.com/catalyst-team/catalyst/pull/274
- lr linear scaling https://github.com/catalyst-team/catalyst/pull/273
- BaseCheckpointCallback https://github.com/catalyst-team/catalyst/pull/276
- SupervisedRunner update, new examples https://github.com/catalyst-team/catalyst/pull/278
RL
- critic refactoring https://github.com/catalyst-team/catalyst/pull/253
- host support for dbWrappers https://github.com/catalyst-team/catalyst/pull/254
- RawObservationWrapper https://github.com/catalyst-team/catalyst/pull/247 and https://github.com/catalyst-team/catalyst/pull/261
- distributional PPO PoC https://github.com/catalyst-team/catalyst/pull/257
- PPO fix https://github.com/catalyst-team/catalyst/pull/258
- RL tests: https://github.com/catalyst-team/catalyst/pull/259, https://github.com/catalyst-team/catalyst/pull/260, https://github.com/catalyst-team/catalyst/pull/262
- RL epoch limit feature https://github.com/catalyst-team/catalyst/pull/263
- additional policy heads support https://github.com/catalyst-team/catalyst/pull/264
- Advantage & entropy regularization DQN support https://github.com/catalyst-team/catalyst/pull/265
- mongo wrapper update https://github.com/catalyst-team/catalyst/pull/267, https://github.com/catalyst-team/catalyst/pull/268
- atari example update https://github.com/catalyst-team/catalyst/pull/270
- code saving https://github.com/catalyst-team/catalyst/pull/277
- Python
Published by Scitator over 6 years ago
catalyst - Catalyst 19.07
Catalyst 19.06.3 -> 19.07
Overall
- module import fix https://github.com/catalyst-team/catalyst/pull/240
- config fix https://github.com/catalyst-team/catalyst/pull/241
- hash update https://github.com/catalyst-team/catalyst/pull/243
- codestyle update https://github.com/catalyst-team/catalyst/pull/244
- python dependencies fix https://github.com/catalyst-team/catalyst/pull/245
DL
- updated MiniEpochSampler https://github.com/catalyst-team/catalyst/pull/229
- updated events sequence https://github.com/catalyst-team/catalyst/pull/230
- MixupCallback https://github.com/catalyst-team/catalyst/pull/238
- image read with turbojpeg support https://github.com/catalyst-team/catalyst/pull/239
RL
- multi-input support https://github.com/catalyst-team/catalyst/pull/231
- max updates per sample feature https://github.com/catalyst-team/catalyst/pull/246
- rl validation https://github.com/catalyst-team/catalyst/pull/250
- Python
Published by Scitator over 6 years ago
catalyst - Catalyst 19.06.3
Catalyst 19.06 -> 19.06.3
Overall
- docker fix https://github.com/catalyst-team/catalyst/pull/216
- global lib refactoring https://github.com/catalyst-team/catalyst/pull/223
DL
- DataParallel for fp16 apex https://github.com/catalyst-team/catalyst/pull/213
- cpu tracing support https://github.com/catalyst-team/catalyst/pull/217
- config dump fix https://github.com/catalyst-team/catalyst/pull/221
- batch2device fix https://github.com/catalyst-team/catalyst/pull/214
- IterationCheckpointCallback & batch-size fix https://github.com/catalyst-team/catalyst/pull/228
- fp16 flag fix https://github.com/catalyst-team/catalyst/pull/227
RL
- Max length removal https://github.com/catalyst-team/catalyst/pull/211
- RL refactoring https://github.com/catalyst-team/catalyst/pull/212
- training seeds update https://github.com/catalyst-team/catalyst/pull/220
- Multi-headed Value functions support https://github.com/catalyst-team/catalyst/pull/198
Breaking changes
- UtilsFactory replaced with
from catalyst.dl import utils LossCallbackreplaced withCriterionCallback
- Python
Published by Scitator over 6 years ago
catalyst - Catalyst 19.06
Catalyst 19.05 -> 19.06
Overall
- docs, docker and travis update (https://github.com/catalyst-team/catalyst/pull/205, https://github.com/catalyst-team/catalyst/pull/201, https://github.com/catalyst-team/catalyst/pull/203)
- Removed dependency on TensorFlow, new tensorboard logs parsing mechanism (https://github.com/catalyst-team/catalyst/pull/182)
DL
- FP16 & distributed training support, nvidia-apex support (https://github.com/catalyst-team/catalyst/pull/183, https://github.com/catalyst-team/catalyst/pull/207)
- PyTorch auto-tracing support (https://github.com/catalyst-team/catalyst/pull/189)
- logdir autonaming based on
baselogdir, timestamp and config hash (https://github.com/catalyst-team/catalyst/pull/204/commits/a141e4c95dde81aa15d0eb0c6daaaf8648df8e20) - 1Cycle PyTorch scheduler (https://github.com/catalyst-team/catalyst/pull/162)
RL
- on-policy model-free algorithms support, PPO & REINFORCE implementations (https://github.com/catalyst-team/catalyst/pull/174)
- mongo DB support fix (https://github.com/catalyst-team/catalyst/pull/190)
- updated samplers, no trajectory length limit now (https://github.com/catalyst-team/catalyst/pull/196)
Contrib
- segmentation contrib (https://github.com/catalyst-team/catalyst/pull/204)
- losses and metrics refactoring (https://github.com/catalyst-team/catalyst/pull/191)
Improvements and fixes
- optimizer transferring from previous stage support (https://github.com/catalyst-team/catalyst/pull/181)
- additional checkpoint data support (https://github.com/catalyst-team/catalyst/pull/184)
--versionfeature (https://github.com/catalyst-team/catalyst/pull/188)
Breaking changes
- all methods with
prepare_*, that have returned something, renamed toget_*; Experiment._prepare_logdirrenamed toExperiment._get_logdirUtilsFactory.prepare_modelsrenamed toUtilsFactory.process_componentsand supports PyTorch model, criterion, optimizer and scheduler now- Previous segmentation models were moved to
catalyst.contrib.models.segmentation.models:ResNetUnetandResNetLinknet per_gpu_batch_sizerenamed toper_gpu_scalingand affects on batchsize and numworkers now
Features examples
Segmentation
from catalyst.contrib.models.segmentation import \
Unet, Linknet, FPNUnet, PSPnet, \
ResnetUnet, ResnetLinknet, ResnetFPNUnet, ResnetPSPnet
Apex
runner = SupervisedRunner()
runner.train(
model=model,
criterion=criterion,
optimizer=optimizer,
scheduler=scheduler,
fp16=True
...)
or
runner = SupervisedRunner()
runner.train(
model=model,
criterion=criterion,
optimizer=optimizer,
scheduler=scheduler,
fp16={"opt_level": "O1"} # and other apex.initalize kwargs
...)
Distributed training bash example
```
!/usr/bin/env bash
export MASTERADDR="127.0.0.1" export MASTERPORT=29500 export WORLD_SIZE=2 # number of gpus
RANK=0 LOCALRANK=0 catalyst-dl run --config=config.yml --distributedparams/rank=0:int & # gpu 0 sleep 5 RANK=1 LOCALRANK=1 catalyst-dl run --config=config.yml --distributedparams/rank=1:int & # gpu 1 ```
- Python
Published by Scitator over 6 years ago