Commit Graph

196 Commits (92f610c9823aee905d950d728f0c86f833881c4b)

Author SHA1 Message Date
Ross Wightman 87939e6fab Refactor device handling in scripts, distributed init to be less 'cuda' centric. More device args passed through where needed. 2022-09-23 16:08:59 -07:00
Ross Wightman ff6a919cf5 Add --fast-norm arg to benchmark.py, train.py, validate.py 2022-08-25 17:20:46 -07:00
Xiao Wang 11060f84c5 make train.py compatible with torchrun 2022-07-07 14:44:55 -07:00
Ross Wightman a29fba307d disable dist_bn when sync_bn active 2022-06-24 21:30:17 -07:00
Ross Wightman 879df47c0a Support BatchNormAct2d for sync-bn use. Fix #1254 2022-06-24 14:51:26 -07:00
Ross Wightman 037e5e6c09 Fix #1309, move wandb init after distributed init, only init on rank == 0 process 2022-06-21 12:32:40 -07:00
Jakub Kaczmarzyk 9e12530433 use utils namespace instead of function/classnames
This fixes buggy behavior introduced by
https://github.com/rwightman/pytorch-image-models/pull/1266.

Related to https://github.com/rwightman/pytorch-image-models/pull/1273.
2022-06-12 22:39:41 -07:00
Xiao Wang ca991c1fa5 add --aot-autograd 2022-06-07 18:01:52 -07:00
Ross Wightman fd360ac951
Merge pull request #1266 from kaczmarj/enh/no-star-imports
ENH: replace star imports with imported names in train.py
2022-05-20 08:55:07 -07:00
Jakub Kaczmarzyk ce5578bc3a replace star imports with imported names 2022-05-18 11:04:10 -04:00
Jakub Kaczmarzyk dcad288fd6 use argparse groups to group arguments 2022-05-18 10:27:33 -04:00
Jakub Kaczmarzyk e1e4c9bbae rm whitespace 2022-05-18 10:17:02 -04:00
han a16171335b fix: change milestones to decay-milestones
- change argparser option `milestone` to `decay-milestone`
2022-05-10 07:57:19 +09:00
han 57a988df30 fix: multistep lr decay epoch bugs
- add milestones arguments
- change decay_epochs to milestones variable
2022-05-06 13:14:43 +09:00
Ross Wightman b049a5c5c6 Merge remote-tracking branch 'origin/master' into norm_norm_norm 2022-03-21 13:41:43 -07:00
Ross Wightman 04db5833eb
Merge pull request #986 from hankyul2/master
fix: typo of argment parser desc in train.py
2022-03-21 12:13:51 -07:00
Ross Wightman 0557c8257d Fix bug introduced in non layer_decay weight_decay application. Remove debug print, fix arg desc. 2022-02-28 17:06:32 -08:00
Ross Wightman 372ad5fa0d Significant model refactor and additions:
* All models updated with revised foward_features / forward_head interface
* Vision transformer and MLP based models consistently output sequence from forward_features (pooling or token selection considered part of 'head')
* WIP param grouping interface to allow consistent grouping of parameters for layer-wise decay across all model types
* Add gradient checkpointing support to a significant % of models, especially popular architectures
* Formatting and interface consistency improvements across models
* layer-wise LR decay impl part of optimizer factory w/ scale support in scheduler
* Poolformer and Volo architectures added
2022-02-28 13:56:23 -08:00
Ross Wightman 95cfc9b3e8 Merge remote-tracking branch 'origin/master' into norm_norm_norm 2022-01-25 22:20:45 -08:00
Ross Wightman abc9ba2544 Transitioning default_cfg -> pretrained_cfg. Improving handling of pretrained_cfg source (HF-Hub, files, timm config, etc). Checkpoint handling tweaks. 2022-01-25 21:54:13 -08:00
Ross Wightman f0f9eccda8 Add --fuser arg to train/validate/benchmark scripts to select jit fuser type 2022-01-17 13:54:25 -08:00
Ross Wightman 5ccf682a8f Remove deprecated bn-tf train arg and create_model handler. Add evos/evob models back into fx test filter until norm_norm_norm branch merged. 2022-01-06 18:08:39 -08:00
han ab5ae32f75
fix: typo of argment parser desc in train.py
- Remove duplicated `of`
2021-11-24 09:32:05 +09:00
Ross Wightman ba65dfe2c6 Dataset work
* support some torchvision datasets
* improvements to TFDS wrapper for subsplit handling (fix #942), shuffle seed
* add class-map support to train (fix #957)
2021-11-09 22:34:15 -08:00
Ross Wightman cd638d50a5
Merge pull request #880 from rwightman/fixes_bce_regnet
A collection of fixes, model experiments, etc
2021-10-03 19:37:01 -07:00
Ross Wightman d9abfa48df Make broadcast_buffers disable its own flag for now (needs more testing on interaction with dist_bn) 2021-10-01 13:43:55 -07:00
Ross Wightman 80075b0b8a Add worker_seeding arg to allow selecting old vs updated data loader worker seed for (old) experiment repeatability 2021-09-28 16:37:45 -07:00
Shoufa Chen 908563d060
fix `use_amp`
Fix https://github.com/rwightman/pytorch-image-models/issues/881
2021-09-26 12:32:22 +08:00
Ross Wightman 0387e6057e Update binary cross ent impl to use thresholding as an option (convert soft targets from mixup/cutmix to 0, 1) 2021-09-23 15:45:39 -07:00
Ross Wightman 0639d9a591 Fix updated validation_batch_size fallback 2021-09-02 14:44:53 -07:00
Ross Wightman 5db057dca0 Fix misnamed arg, tweak other train script args for better defaults. 2021-09-02 14:15:49 -07:00
Ross Wightman fb94350896 Update training script and loader factory to allow use of scheduler updates, repeat augment, and bce loss 2021-09-01 17:46:40 -07:00
SamuelGabriel 7c19c35d9f
Global instead of local rank. 2021-06-09 19:11:58 +02:00
Ross Wightman e15e68d881 Fix #566, summary.csv writing to pwd on local_rank != 0. Tweak benchmark mem handling to see if it reduces likelihood of 'bad' exceptions on OOM. 2021-04-15 23:03:56 -07:00
Ross Wightman e685618f45
Merge pull request #550 from amaarora/wandb
Wandb Support
2021-04-15 09:26:35 -07:00
Ross Wightman 7c97e66f7c Remove commented code, add more consistent seed fn 2021-04-12 09:51:36 -07:00
Aman Arora 5772c55c57 Make wandb optional 2021-04-10 01:34:20 -04:00
Aman Arora f54897cc0b make wandb not required but rather optional as huggingface_hub 2021-04-10 01:27:23 -04:00
Aman Arora f13f7508a9 Keep changes to minimal and use args.experiment as wandb project name if it exists 2021-04-10 00:50:52 -04:00
Aman Arora f8bb13f640 Default project name to None 2021-04-10 00:44:05 -04:00
Aman Arora 3f028ebc0f import wandb in summary.py 2021-04-08 03:48:51 -04:00
Aman Arora a9e5d9e5ad log loss as before 2021-04-08 03:41:40 -04:00
Aman Arora 624c9b6949 log to wandb only if using using wandb 2021-04-08 03:40:22 -04:00
Aman Arora 00c8e0b8bd Make use of wandb configurable 2021-04-08 03:35:59 -04:00
Aman Arora 8e6fb861e4 Add wandb support 2021-04-08 03:22:29 -04:00
Ross Wightman 37c71a5609 Some further create_optimizer_v2 tweaks, remove some redudnant code, add back safe model str. Benchmark step times per batch. 2021-04-01 22:34:55 -07:00
Ross Wightman 288682796f Update benchmark script to add precision arg. Fix some downstream (DeiT) compat issues with latest changes. Bump version to 0.4.7 2021-04-01 16:40:12 -07:00
Ross Wightman a5310a3451 Merge remote-tracking branch 'origin/benchmark-fixes-vit_hybrids' into pit_and_vit_update 2021-04-01 12:15:34 -07:00
Ross Wightman e2e3290fbf Add '--experiment' to train args for fixed exp name if desired, 'train' not added to output folder if specified. 2021-03-20 12:02:17 -07:00
Ross Wightman d584e7f617 Support for huggingface hub via create_model and default_cfgs.
* improve consistency of model creation helper fns
* add comments to some of the model helpers
* support passing external default_cfgs so they can be sourced from hub
2021-03-16 22:48:26 -07:00
Ross Wightman 2db2d87ff7 Add epoch-repeats arg to multiply the number of dataset passes per epoch. Currently for iterable datasets (read TFDS wrapper) only. 2021-02-23 17:31:42 -08:00
Ross Wightman 0e16d4e9fb Add benchmark.py script, and update optimizer factory to be more friendly to use outside of argparse interface. 2021-02-23 15:38:12 -08:00
Ross Wightman 01653db104 Missed clip-mode arg for repo train script 2021-02-15 23:27:16 -08:00
Ross Wightman 4f49b94311 Initial AGC impl. Still testing. 2021-02-15 23:22:44 -08:00
Ross Wightman d8e69206be
Merge pull request #419 from rwightman/byob_vgg_models
More models, GPU-Efficient Nets, RepVGG, classic VGG, and flexible Byob backbone.
2021-02-10 15:44:09 -08:00
Ross Wightman 0356e773f5 Default to native PyTorch AMP instead of APEX amp. Too many APEX issues cropping up lately. 2021-02-10 14:31:18 -08:00
Csaba Kertesz 5114c214fc Change the Python interpreter to Python 3.x in the scripts 2021-02-09 21:20:28 +02:00
Ross Wightman 4203efa36d Fix #387 so that checkpoint saver works with max history of 1. Add checkpoint-hist arg to train.py. 2021-01-31 20:14:51 -08:00
Ross Wightman 38d8f67570 Fix potential issue with change to num_classes arg in train/validate.py defaulting to None (rely on model def / default_cfg) 2021-01-25 11:53:34 -08:00
Ross Wightman 5d4c3d0af3 Add enhanced ParserImageInTar that can read images from tars within tars, folders with multiple tars, etc. Additional comment cleanup. 2021-01-22 10:52:04 -08:00
Ross Wightman 9d5d4b8df6 Fix silly train.py typo during dataset work 2021-01-16 16:32:21 -08:00
Ross Wightman 855d6cc217 More dataset work including factories and a tensorflow datasets (TFDS) wrapper
* Add parser/dataset factory methods for more flexible dataset & parser creation
* Add dataset parser that wraps TFDS image classification datasets
* Tweak num_classes handling bug for 21k models
* Add initial deit models so they can be benchmarked in next csv results runs
2021-01-15 17:26:20 -08:00
Ross Wightman fd9061dbf7 Remove debug print from train.py 2021-01-04 12:16:06 -08:00
Ross Wightman 59ec7e6a53 Merge branch 'master' into imagenet21k_datasets_more 2021-01-04 12:11:05 -08:00
Csaba Kertesz e42b140ade Add --input-size option to scripts to specify full input dimensions from command-line 2021-01-04 00:25:29 +02:00
Ross Wightman 231d04e91a ResNetV2 pre-act and non-preact model, w/ BiT pretrained weights and support for ViT R50 model. Tweaks for in21k num_classes passing. More to do... tests failing. 2020-12-28 16:59:15 -08:00
Ross Wightman de6046e213 Initial commit for dataset / parser reorg to support additional datasets / types 2020-12-28 16:59:15 -08:00
Ross Wightman 2ed8f24715 A few more changes for 0.3.2 maint release. Linear layer change for mobilenetv3 and inception_v3, support no bias for linear wrapper. 2020-11-30 16:19:52 -08:00
Ross Wightman 460eba7f24 Work around casting issue with combination of native torch AMP and torchscript for Linear layers 2020-11-30 13:30:51 -08:00
Ross Wightman 27bbc70d71 Add back old ModelEma and rename new one to ModelEmaV2 to avoid compat breaks in dependant code. Shuffle train script, add a few comments, remove DataParallel support, support experimental torchscript training. 2020-11-29 16:22:19 -08:00
Ross Wightman 9214ca0716 Simplifying EMA... 2020-11-16 12:51:52 -08:00
Ross Wightman 80078c47bb Add Adafactor and Adahessian optimizers, cleanup optimizer arg passing, add gradient clipping support. 2020-10-09 17:24:43 -07:00
Ross Wightman 47a7b3b5b1 More flexible mixup mode, add 'half' mode. 2020-09-07 20:03:06 -07:00
Ross Wightman 532e3b417d Reorg of utils into separate modules 2020-09-07 13:58:09 -07:00
Ross Wightman 751b0bba98 Add global_pool (--gp) arg changes to allow passing 'fast' easily for train/validate to avoid channels_last issue with AdaptiveAvgPool 2020-09-02 16:13:47 -07:00
Ross Wightman 9c297ec67d Cleanup Apex vs native AMP scaler state save/load. Cleanup CheckpointSaver a bit. 2020-09-02 15:12:59 -07:00
Ross Wightman c2cd1a332e Improve torch amp support and add channels_last support for train/validate scripts 2020-08-31 17:58:16 -07:00
datamining99 5f563ca4df fix save_checkpoint bug with native amp 2020-08-22 11:31:50 +09:00
datamining99 d98967ed5d add support for native torch AMP in torch 1.6 2020-08-22 09:44:23 +09:00
Ross Wightman 8c9814e3f5 Final cleanup of mixup/cutmix. Element/batch modes working with both collate (prefetcher active) and without prefetcher. 2020-08-12 17:01:32 -07:00
Ross Wightman f471c17c9d More cutmix/mixup overhaul, ready to kick-off some trials. 2020-08-11 00:10:33 -07:00
Ross Wightman 92f2d0d65d Merge branch 'master' into cutmix. Fixup a few issues. 2020-08-07 15:59:52 -07:00
Ross Wightman fa28067704 Add more augmentation arguments, including a no_aug disable flag. Fix #209 2020-08-05 13:16:44 -07:00
Ross Wightman 7995295968 Merge branch 'logger' into features. Change 'logger' to '_logger'. 2020-07-27 18:00:46 -07:00
Ross Wightman 1998bd3180 Merge branch 'feature/AB/logger' of https://github.com/antoinebrl/pytorch-image-models into logger 2020-07-27 16:06:01 -07:00
Ross Wightman 6c17d57a2c Fix some attributions, add copyrights to some file docstrings 2020-07-27 13:44:56 -07:00
Antoine Broyelle 78fa0772cc Leverage python hierachical logger
with this update one can tune the kind of logs generated by timm but
training and inference traces are unchanged
2020-06-09 18:28:48 +01:00
Ross Wightman 6441e9cc1b Fix memory_efficient mode for DenseNets. Add AntiAliasing (Blur) support for DenseNets and create one test model. Add lr cycle/mul params to train args. 2020-05-22 16:16:45 -07:00
AFLALO, Jonathan Isaac a7f570c9b7 added MultiEpochsDataLoader 2020-05-05 14:47:02 +03:00
Ross Wightman 13cf68850b Remove poorly named metrics from torch imagenet example origins. Use top1/top5 in csv output for consistency with existing validation results files, acc elsewhere. Fixes #111 2020-04-10 14:41:08 -07:00
Ross Wightman 27b3680d49 Revamp LR noise, move logic to scheduler base. Fixup PlateauLRScheduler and add it as an option. 2020-02-22 16:23:15 -08:00
Ross Wightman 514b0938c4 Experimenting with per-epoch learning rate noise w/ step scheduler 2020-02-21 11:51:05 -08:00
Ross Wightman 43225d110c Unify drop connect vs drop path under 'drop path' name, switch all EfficientNet/MobilenetV3 refs to 'drop_path'. Update factory to handle new drop args. 2020-02-18 14:00:26 -08:00
Ross Wightman b3cb5f3275 Working on CutMix impl as per #8, integrating with Mixup, currently experimenting... 2020-02-16 20:09:11 -08:00
Andrew Lavin b72013def8 Added commandline argument validation-batch-size-multiplier with default set to 1. 2020-02-04 01:02:27 -08:00
Ross Wightman 5b7cc16ac9 Add warning about using sync-bn with zero initialized BN layers. Fixes #54 2020-01-31 11:44:24 -08:00
Ross Wightman d9a6a9d0af
Merge pull request #74 from rwightman/augmix-jsd
AugMix, JSD loss, SplitBatchNorm (Auxiliary BN), and more
2020-01-11 12:04:29 -08:00
Ross Wightman 3eb4a96eda Update AugMix, JSD, etc comments and references 2020-01-11 12:02:05 -08:00
Ross Wightman 7547119891 Add SplitBatchNorm. AugMix, Rand/AutoAugment, Split (Aux) BatchNorm, Jensen-Shannon Divergence, RandomErasing all working together 2020-01-05 19:58:59 -08:00
Ross Wightman 40fea63ebe Add checkpoint averaging script. Add headers, shebangs, exec perms to all scripts 2020-01-03 14:57:46 -08:00