Commit Graph

77 Commits (7c846d9970ed33a0d61747583afe15a68a205d03)

Author SHA1 Message Date
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