Package: thelper
This package provides a training framework and CLI for PyTorch-based machine learning projects. This is free
software distributed under theApache Software License version 2.0built by researchers and developers
from the Centre de Recherche Informatique de Montréal / Computer Research Institute of Montreal (CRIM).To get a general idea of what this framework can be used for, visit theFAQ page. For installation instructions, refer to theinstallation guide. For usage instructions,
refer to theuser guide. The auto-generated
documentation is available viareadthedocs.io.NotesDevelopment is still on-going — the API and internal classes may change in the future.The project’s structure was originally generated bycookiecutterviaionelmc’s template.ChangelogUnreleased(latest)0.6.2(2020/10/01)AddedSelectChannelstransform operator for inplace sample modifications that might need it.0.6.1(2020/07/29)Fixed conda package builds for tagged deployments0.6.0(2020/07/28)Refactored and cleaned up HDF5 data extraction/parsing classesAdded dataset interfaces for BigEarthNet, Agri-Vis challengeUpdate classification task to allow multi-label classificationAdded activation layer customization for in-framework ResNet archsUpdated default move_tensor behavior to be non-blockingAdded trainer implementation for auto-encoder-type modelsAdded Orion reporting support for hyperparameter explorationsAdded SLURM cluster utilities (tmpdir getter, launch scripts)0.5.0(2020/07/21)Skip image save call during metric rendering if the provided value isNoneas employed by basic logger/reporter.Add JSON implementation forthelper.train.utils.ClassifLogger.Fixconceptsto handle any variation of upper/lower concept name.0.5.0-rc2(2020/07/08)Employrequirements.txtwithinconda-env.ymlto kept dependencies in sync.Fixes built docker image not using appropriate dependencies enforced throughrequirements.txt.0.5.0-rc1(2020/07/07)Fix version comparison check when validating configuration and/or checkpoint against package version.
Version can now have a release part which was not considered.Fix incorrect calculation of sample coordinates inthelper.data.geo.parsers.SlidingWindowDataset.Removenot_skip = __init__.pyconfig option forisortsince__init__.pyis included since4.3.5.
Also forceisort<5since many import checks break suddenly (e.g.: direct import withasalias break).0.5.0-rc0(2020/04/25)Update this changelog to use rst links (renders on github and readthedocs)Addinfermode for classification of geo-referenced rastersAddDockerfile-geoto build thelper with pre-installed geo packagesAdd geo-related build instructions to travis-ci build stepsAdd auto-documentation of makefile targets and docker related targets0.4.7(2019/11/20)Removed optional dependencies from conda build env0.4.6(2019/11/20)Travis deploy test w/ split conda/docker stages0.4.5(2019/11/18)Split travis deploy stage into two phasesFixed draw_segment threshold usage & params lookupFixed FCResNet embedding getter wrt latest pooling updateUpdate all matplotlib plots to use 160 dpi by defaultRefactor trainer data/metric writer to save all viz data0.4.4(2019/11/18)Added viz pkg w/ t-SNE & UMAP support for in-trainer usageFixed geo pkg documentation build issue related to mockingFixed type and output format checks in numerous metricsUpdated all callback readers to rely on new utility functionCleaned and optimize coordconv implementationAdded U-Net architecture implementation to nn packageAdded IoU metric implementationAdded support for SRM kernels and SRM convolutionsUpdated documentation (install, faq, maintenance)Added fixed weight sampler to data packageAdded lots of extra unit testsAdded efficientnet 3rd-party module wrapperFixed potential conflicts in task class names ordering0.4.3(2019/11/06)Fixed pytest-mock scope usage in metrics utests0.4.2(2019/11/06)Updated common resnet impl to support segmentation headsFixed samples usage for auto-weighting of loss functionsCleaned up samples usage in loader factory data splitterAdd GDL compatibility module to geo packageFix segmentation task dontcare default color mappingCleaned up and simplified coordconv implementationUpdate segmentation trainer to use long-typed label mapsCleaned up augmentor/albumentations demo configurations0.4.1(2019/10/15)Removed travis check in deploy stage for master branch0.4.0(2019/10/11)Added geo subpackageAdded geo vector/raster parsing classesAdded ogc module for testbed15-specific utilitiesAdded testbed15 train/viz configuration filesCleaned up makefile targets & coverage usageReplaced tox build system with makefile completelyMerged 3rdparty configs into setup.cfgUpdated travis to rely on makefile directly0.3.14(2019/09/30)Added extra logging calls in trainer and framework utilsCleaned up data configuration parsing logger callsBypassed full device check when specific one is requested0.3.13(2019/09/26)Moved drawing utilities to new moduleCleaned up output root/save directory parsingCleaned up potential circular importsMoved optional dependency imports inside relevant functionsAdded support for root directory specification via configUpdated config load/save to make naming optional0.3.12(2019/09/13)Fixed potential issue when reinstantiating custom ResNetFixed ClassifLogger prediction logger w/o groundtruth0.3.11(2019/09/09)Add cli/config override for task compatibility mode setting0.3.10(2019/09/05)Cleaned up dependency lists, docstringsFixed bbox iou computation with mixed int/floatFixed dontcare label deletion in segmentation taskCleaned up training session output directory localizationFixed object detection trainer empty bbox listsFixed exponential parsing with pyyamlFixed bbox display when using integer coords values0.3.9(2019/08/20)Fixed collate issues for pytorch >= 1.2Fixed null-size batch issuesCleaned up params#kwargs parsing in trainerAdded pickled hashed param support utilsAdded support for yaml-based session configurationAdded concept decorators for metrics/consumer classesCleaned up shared interfaces to fix circular dependenciesAdded detection (bbox) logger class0.3.8(2019/08/08)Fixed nn modules constructor args forwardingUpdated class importer to allow parsing of non-package dirsFixed file-based logging from submodules (e.g. for all data)Cleaned and API-fied the CLI entrypoints for external use0.3.7(2019/07/31)Fixed travis timeouts on long deploy operationsAdded output path to trainer callback implsAdded new draw-and-save display callbackAdded togray/tocolor transformation operationsCleaned up matplotlib use and show/block across draw functionsFixed various dependency and logging issues0.3.6(2019/07/26)Fixed torch version checks in custom default collate implFixed bbox predictions forwarding and evaluation in objdetectRefactored metrics/callbacks to clean up trainer implsAdded pretrained opt to default resnet implFixed objdetect trainer display and prediction callbacks0.3.5(2019/07/23)Refactored metrics/consumers into separate interfacesAdded unit tests for all metrics/prediction consumersUpdated trainer callback signatures to include more dataUpdated install doc with links to anaconda/docker hubsCleaned drawing functions args wrt callback refactoringAdded eval module to optim w/ pascalvoc evaluation funcs0.3.4(2019/07/12)Fixed issues when reloading objdet model checkpointsFixed issues when trying to use missing color mapsFixed backward compat issues when reloading old tasksCleaned up object detection drawing utilities0.3.3(2019/07/09)Fixed travis conda build dependencies & channels0.3.2(2019/07/05)Update documentation use cases (model export) & faqCleanup module base class config backupFixed docker build and automated it via travis0.3.1(2019/06/17)Fix metrics RawPredictions not returning predictions during evalFix parsing of checkpoint base path0.3.0(2019/06/12)Added dockerfile for containerized buildsAdded object detection task & trainer implementationsAdded CLI model/checkpoint export supportAdded CLI dataset splitting/HDF5 supportAdded baseline superresolution implementationsAdded lots of new unit tests & docstringsCleaned up transform & display operations0.2.8(2019/03/17)Cleaned up build tools & docstrings throughout apiAdded user guide in documentation buildUpdate tasks to allow dataset interface overrideCleaned up trainer output logsAdded fully convolutional resnet implementationFixup various issues related to fine-tuning via ‘resume’0.2.7(2019/02/04)Updated conda build recipe for python variants w/ auto upload0.2.6(2019/01/31)Added framework checkpoint/configuration migration utilitiesFixed minor config parsing backward compatibility issuesFixed minor bugs related to query & drawing utilities0.2.5(2019/01/29)Fix travis-ci conda build/env path0.2.4(2019/01/29)Fix travis-ci conda channel setup0.2.3(2019/01/29)Fixopenssldependency0.2.2(2019/01/29)Fixed travis-ci matrix configurationAdded travis-ci deployment step for pypiFixed readthedocs documentation buildingUpdated readme shields & front page lookCleaned up cli module entrypointFixed openssl dependency issues for travis tox check jobsUpdated travis post-deploy to try to fix conda packaging (wip)0.2.1(2019/01/24)Added typedef module & cleaned up parameter inspectionsCleaned up all drawing utils & added callback support to trainersAdded support for albumentation pipelines via wrapperUpdated all trainers/schedulers to rely on 0-based indexingUpdated travis/rtd configs for auto-deploy & 3.6 support0.2.0(2019/01/15)Added regression/segmentation tasks and trainersAdded interface for pascalvoc datasetRefactored data loaders/parsers and cleaned up data packageAdded lots of new utilities in base trainer implementationAdded new unit tests for transformationsRefactored transformations to use wrappers for augments/listsAdded new samplers with dataset scaling supportAdded baseline implementation for FCN32sAdded mae/mse metrics implementationsAdded trainer support for loss computation via external membersAdded utils to download/verify/extract files0.1.1(2019/01/14)Minor fixups and updates for CCFB02 compatibilityAdded RawPredictions metric to fetch data from trainers0.1.0(2018/11/28)Fixed readthedocs sphinx auto-build w/ mocking.Refactored package structure to avoid env issues.Rewrote seeding to allow 100% reproducible sessions.Cleaned up config file parameter lists.Cleaned up session output vars/logs/images.Add support for eval-time augmentation.Update transform wrappers for multi-channels & lists.Add gui module w/ basic segmentation annotation tool.Refactored task interfaces to allow merging.Simplified model fine-tuning via checkpoints.0.0.2(2018/10/18)Completed first documentation pass.Fixed travis/rtfd builds.Fixed device mapping/loading issues.0.0.1(2018/10/03)Initial release (work in progress).