Commit Graph

48 Commits (e9d6fe293c7aeabb1d15115793218d12dbfeb592)

Author SHA1 Message Date
Ross Wightman 2a8c4dc63b Add validation script update for using test_input_size in model default_cfgs 2021-02-07 21:35:50 -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 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 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 ce69de70d3 Add 21k weight urls to vision_transformer. Cleanup feature_info for preact ResNetV2 (BiT) models 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
Matthijs Hollemans 8ffdc5910a test_time_pool would be set to a non-False value even if test-time pooling is not available 2020-10-02 22:56:15 +02:00
Ross Wightman e8ca45854c More models in sotabench, more control over sotabench run, dataset filename extraction consistency 2020-09-24 15:56:57 -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
Ross Wightman ad150e7018 Update results csv file rank/diff script and small validate script tweak for batch validation 2020-07-31 17:51:22 -07:00
Ross Wightman ecdeb470f2 Cleanup real labels in validate.py, no need to track original, will do that via exteran script 2020-07-29 11:15:47 -07:00
Ross Wightman c53ec33ae0 Add synset/label indices for results generation. Add 'valid labels' to validation script to support imagenet-a/r label subsets properly. 2020-07-29 00:58:57 -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
Ross Wightman 4e61c6a12d Cleanup, refactoring of Feature extraction code, add tests, fix tests, non hook feature extraction working with torchscript 2020-07-20 16:10:31 -07:00
Ross Wightman d23a2697d0 Working on feature extraction, interfaces refined, a number of models working, some in progress. 2020-06-29 18:18:59 -07:00
Ross Wightman d3ee3de96a Update validation script first batch prime and clear cuda cache between multi-model runs 2020-06-11 13:34:21 -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 88129b2569 Add set_layer_config contextmgr to adjust all layer configs at once, use in create_module with new args. Remove a few old warning causing constant annotations for jit. 2020-06-02 21:06:10 -07:00
Ross Wightman eb7653614f Monster commit, activation refactor, VoVNet, norm_act improvements, more
* refactor activations into basic PyTorch, jit scripted, and memory efficient custom auto
* implement hard-mish, better grad for hard-swish
* add initial VovNet V1/V2 impl, fix #151
* VovNet and DenseNet first models to use NormAct layers (support BatchNormAct2d, EvoNorm, InplaceIABN)
* Wrap IABN for any models that use it
* make more models torchscript compatible (DPN, PNasNet, Res2Net, SelecSLS) and add tests
2020-06-01 17:16:52 -07:00
Ross Wightman 02a30411ad Replace fp16 with amp support for validate.py script 2020-04-27 12:31:36 -07: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 53c47479c4 Batch validation batch size adjustment, tweak L2 crop pct 2020-02-15 20:37:04 -08:00
Ross Wightman 1daa303744 Add support to Dataset for class id mapping file, clean up a bit of old logic. Add results file arg for validation and update script. 2020-02-01 18:07:32 -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
Ross Wightman 4666cc9aed Add --pin-mem arg to enable dataloader pin_memory (showing more benefit in some scenarios now), also add --torchscript arg to validate.py for testing models with jit.script 2020-01-02 16:22:06 -08:00
Ross Wightman 7a92caa560 Add basic image folder style dataset to read directly out of tar files, example in validate.py 2019-07-25 10:51:03 -07:00
Ross Wightman 6cdf35e670 Add explicit half/fp16 support to loader and validation script 2019-07-05 13:52:25 -07:00
Ross Wightman edb425ea48 Add crop_pct arg to validate, extra fields to csv output, 'all' filters pretrained 2019-07-03 22:28:07 -07:00
Ross Wightman c6b32cbe73 A number of tweaks to arguments, epoch handling, config
* reorganize train args
* allow resolve_data_config to be used with dict args, not just arparse
* stop incrementing epoch before save, more consistent naming vs csv, etc
* update resume and start epoch handling to match above
* stop auto-incrementing epoch in scheduler
2019-06-28 13:49:20 -07:00
Ross Wightman 171c0b88b6 Add model registry and model listing fns, refactor model_factory/create_model fn 2019-06-23 18:22:16 -07:00
Ross Wightman 6fc886acaf Remove all prints, change most to logging calls, tweak alignment of batch logs, improve setup.py 2019-06-20 17:29:25 -07:00
Ross Wightman aa4354f466 Big re-org, working towards making pip/module as 'timm' 2019-06-19 17:20:51 -07:00
Ross Wightman b9f8d40b10 Fix pretrained override logic for validate, checkpoint always trump pretrained flag during model create 2019-06-19 15:23:16 -07:00
Ross Wightman 9bcd65181b Add exponential moving average for model weights + few other additions and cleanup
* ModelEma class added to track an EMA set of weights for the model being trained
* EMA handling added to train, validation and clean_checkpoint scripts
* Add multi checkpoint or multi-model validation support to validate.py
* Add syncbn option (APEX) to train script for experimentation
* Cleanup interface of CheckpointSaver while adding ema functionality
2019-06-07 15:39:36 -07:00
Ross Wightman 4bb5e9b224 Ported Tensorflow pretrained EfficientNet weights and some model cleanup
* B0-B3 weights ported from TF with close to paper accuracy
* Renamed gen_mobilenet to gen_efficientnet since scaling params go well beyond 'mobile' specific
* Add Tensorflow preprocessing option for closer images to source repo
2019-05-30 17:55:35 -07:00
Ross Wightman db1fe34d0c Update a few comment, add some references 2019-04-12 23:16:49 -07:00
Ross Wightman 0562b91c38 Add per model crop pct, interpolation defaults, tie it all together
* create one resolve fn to pull together model defaults + cmd line args
* update attribution comments in some models
* test update train/validation/inference scripts
2019-04-12 22:55:24 -07:00
Ross Wightman 9c3859fb9c Uniform pretrained model handling.
* All models have 'default_cfgs' dict
* load/resume/pretrained helpers factored out
* pretrained load operates on state_dict based on default_cfg
* test all models in validate
* schedule, optim factor factored out
* test time pool wrapper applied based on default_cfg
2019-04-11 21:32:16 -07:00
Ross Wightman 0bc50e84f8 Lots of refactoring and cleanup.
* Move 'test time pool' to Module that can be used by any model, remove from DPN
* Remove ResNext model file and combine with ResNet
* Remove fbresnet200 as it was an old conversion and pretrained performance not worth param count
* Cleanup adaptive avgmax pooling and add back conctat variant
* Factor out checkpoint load fn
2019-04-10 14:53:34 -07:00
Ross Wightman 5180f94c7e Distributed (multi-process) train, multi-gpu single process train, and NVIDIA AMP support 2019-04-05 10:53:04 -07:00
Ross Wightman 45cde6f0c7 Improve creation of data pipeline with prefetch enabled vs disabled, fixup inception_res_v2 and dpn models 2019-03-11 22:17:42 -07:00
Ross Wightman 31055466fc Fixup validate/inference script args, fix senet init for better test accuracy 2019-02-22 14:07:50 -08:00
Ross Wightman 5855b07ae0 Initial commit, puting some ol pieces together 2019-02-01 22:07:34 -08:00