Commit Graph

489 Commits (3ba6b55cb203acb131c2513ef51a79d189dbbcb2)

Author SHA1 Message Date
Ross Wightman 0f5d9d8166 Add CSPResNet50 weights, 79.6 top-1 at 256x256 2020-08-12 11:20:11 -07:00
Ross Wightman b1b6e7c361 Fix a few more issues related to #216 w/ TResNet (space2depth) and FP16 weights in wide resnets. Also don't completely dump pretrained weights in in_chans != 1 or 3 cases. 2020-08-11 18:57:47 -07:00
Ross Wightman 512b2dd645 Add new EfficientNet-B3 and RegNetY-3.2GF weights, both just over 82 top-1 2020-08-11 14:18:51 -07:00
Ross Wightman 6890300877 Add DropPath (stochastic depth) to RegNet 2020-08-11 14:08:53 -07:00
Ross Wightman cd23f55397 Fix mixed prec issues with new mixup code 2020-08-11 12:17:43 -07:00
Yusuke Uchida f6b56602f9 fix test_model_default_cfgs 2020-08-11 23:23:57 +09:00
Ross Wightman f471c17c9d More cutmix/mixup overhaul, ready to kick-off some trials. 2020-08-11 00:10:33 -07:00
Ross Wightman d5145fa4d5 Change default_cfg names for senet to include the legacy and match model names 2020-08-08 11:12:58 -07:00
Ross Wightman 92f2d0d65d Merge branch 'master' into cutmix. Fixup a few issues. 2020-08-07 15:59:52 -07:00
Ross Wightman 1696499ce5 Bump version to 0.2.0, ready to roll (I think) 2020-08-05 16:55:18 -07:00
Ross Wightman e62758cf4f More documentation updates, fix a typo 2020-08-05 15:59:31 -07:00
Ross Wightman dfe80414a6 Add bool arg helper 2020-08-05 13:17:23 -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 b1f1a54de9 More uniform treatment of classifiers across all models, reduce code duplication. 2020-08-03 22:18:24 -07:00
Ross Wightman d72ddafe56 Fix some checkpoint / model str regressions 2020-07-29 19:43:01 -07:00
Ross Wightman ac18adb9c3 Remove debug print from RexNet 2020-07-29 11:15:19 -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 ec4976fdba Add EfficientNet-Lite0 weights trained with this code by @hal-314, 75.484 top-1 2020-07-29 00:32:08 -07:00
Ross Wightman 9ecd16bd7b Add new seresnet50 (non-legacy) model weights, 80.274 top-1 2020-07-29 00:17:42 -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 a69c0e04f0 Fix pool size in cspnet 2020-07-27 13:44:02 -07:00
Ross Wightman 14ef7a0dd6 Rename csp.py -> cspnet.py 2020-07-27 11:15:07 -07:00
Ross Wightman ec37008432 Add pretrained weight links to CSPNet for cspdarknet53, cspresnext50 2020-07-27 11:13:21 -07:00
Sangdoo Yun e93e571f7a Add `adamp` and 'sgdp' optimizers.
Update requirements.txt

Update optim_factory.py

Add `adamp` optimizer

Update __init__.py

copy files of adamp & sgdp

Create adamp.py

Update __init__.py

Create sgdp.py

Update optim_factory.py

Update optim_factory.py

Update requirements.txt

Update adamp.py

Update sgdp.py

Update sgdp.py

Update adamp.py
2020-07-25 15:33:20 -07:00
Ross Wightman 08016e839d Cleanup FeatureInfo getters, add TF models sourced Xception41/65/71 weights 2020-07-24 17:59:21 -07:00
Ross Wightman 7ba5a384d3 Add ReXNet w/ remapped weights, feature support 2020-07-23 10:28:57 -07:00
Ross Wightman c9d54bc1c3 Add HRNet feature extraction, fix senet type, lower feature testing res to 96x96 2020-07-21 17:39:29 -07:00
Ross Wightman 2ac663f340 Add feature support to legacy senets, add 32x32 resnext models to exclude list for feature testing. 2020-07-21 11:15:30 -07:00
Ross Wightman c146b54abc Cleanup EfficientNet/MobileNetV3 feature extraction a bit, only two tap locations now, small mobilenetv3 models work 2020-07-21 01:21:38 -07:00
Ross Wightman 68fd8a267b Merge branch 'master' into features 2020-07-20 16:11:38 -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 6eec3fb4a4 Move FeatureHooks into features.py, switch EfficientNet, MobileNetV3 to use build model helper 2020-07-19 15:00:43 -07:00
Ross Wightman 9eba134d79 More models supporting feature extraction, xception, gluon_xception, inception_v3, inception_v4, pnasnet, nasnet, dla. Fix DLA unused projection params. 2020-07-19 14:02:02 -07:00
Ross Wightman 298fba09ac Back out some activation hacks trialing upcoming pytorch changes 2020-07-17 18:41:37 -07:00
Ross Wightman 3b9004bef9 Lots of changes to model creation helpers, close to finalizing feature extraction / interfaces 2020-07-17 17:54:26 -07:00
Ross Wightman e2cc481310 Update CSP ResNets for cross expansion without activation. Fix VovNet IABN compatibility with fixed activation arg. 2020-07-13 16:24:55 -07:00
Ross Wightman 3b6cce4c95 Add initial impl of CrossStagePartial networks, yet to be trained, not quite the same as darknet cfgs. 2020-07-13 15:01:06 -07:00
Ross Wightman 3aebc2f06c Switch DPN to use BnAct layer, train a new DPN 68b model with RA to 79.21 2020-07-12 11:13:06 -07:00
Ross Wightman f122f0274b Significant ResNet refactor:
* stage creation + make_layer moved to separate fn with more sensible dilation/output_stride calc
* drop path rate decay easy to impl with refactored block creation loops
* fix dilation + blur pool combo
2020-07-05 00:48:12 -07:00
Ross Wightman a66df5fb91 More model feature extraction support, start to deprecate senet.py, dilations added to regnet, add proper aligned xception 2020-07-03 00:41:30 -07:00
Ross Wightman 7729f40dca Fix another bug, update all gluon resnet models to use new creation method (feature support) 2020-06-30 16:44:15 -07:00
Ross Wightman d72ac0db25 Fix #173, lr cycle default 0 vs 1. Fix #177, mirror resnest weights for future stability. 2020-06-29 21:31:48 -07:00
Ross Wightman d0113f9cdb Fix a few issues that came up in tests 2020-06-29 21:13:21 -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 24e7535278 Remove tests from distrib 2020-06-16 22:57:26 -07:00
Ross Wightman 328339a086 Add ESE-VoVNet-19-DW weights 2020-06-15 14:31:55 -07:00
Ross Wightman 2d83752bc2 Fix default interpolation/crop of largest 2 ResNeSt models 2020-06-12 16:42:47 -07:00
Ross Wightman f225ae8e59 Update README with model results and attribution. Make scheduler factory bit more robust to arg differences, add noise to plateau lr and fix min/max. 2020-06-12 13:33:12 -07:00
Ross Wightman 39f27c1add Almost ready to merge, vovnet typo, version bump, readme addition 2020-06-11 15:41:58 -07:00
Ross Wightman 151679c2f1 Add custom grad tests, fix cut & paste error with hard_mish ME, add a few more pytorch act fns to factory 2020-06-11 14:49:23 -07:00
Ross Wightman 6c7932fe75 Update sotabench.py, tweak VovNet cfg 2020-06-11 14:34:25 -07:00
Ross Wightman 0aca08384f Update regnet cfg keys to match model names so registry works properly 2020-06-09 14:37:45 -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 13c0a6290e Add ESE-VovNet39 weights, 79.32 top-1 2020-06-06 22:50:21 -07:00
Ross Wightman 4ddde1d3a4 Fix two regressions 2020-06-05 11:04:51 -07:00
Ross Wightman a7e8cadd15 Remove pointless densenet configs, add an iabn version of 264 as it makes more sense to try someday... 2020-06-03 17:13:52 -07:00
Ross Wightman e78daf586a better densenet121 and densenetblur121d weights 2020-06-03 13:30:03 -07:00
Ross Wightman 7be299504f Add missing feature_info() on MobileNetV3, make hook feature output order/type consistent with bottleneck (list, decreasing fmap size) 2020-06-03 00:00:37 -07: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 f28170df3f Fix an an untested change, remove a debug print 2020-06-01 17:26:42 -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 0ea53cecc3 Merge branch 'master' into densenet_update_and_more 2020-05-22 16:18:10 -07: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
Ross Wightman afb6bd0669 Add backward and default_cfg tests and fix a few issues found. Fix #153 2020-05-21 15:30:58 -07:00
Ross Wightman 50658b9a67 Add RegNet models and weights 2020-05-18 00:08:52 -07:00
Ross Wightman 7df83258c9 Merge branch 'master' into densenet_update_and_more 2020-05-13 23:34:44 -07:00
Ross Wightman 1904ed8fec Improve dropblock impl, add fast variant, and better AMP speed, inplace, batchwise... few ResNeSt cleanups 2020-05-13 15:17:08 -07:00
Ross Wightman 17270c69b9 Remove annoying InceptionV3 dependency on scipy and insanely slow trunc_norm init. Bring InceptionV3 code into this codebase and use upcoming torch trunch_norm_ init. 2020-05-12 21:59:34 -07:00
Ross Wightman c4ca016656
Merge pull request #145 from rwightman/resnest
ResNeSt
2020-05-12 13:38:29 -07:00
Ross Wightman 208e7912f7 Missed one of the abalation model entrypoints, update README 2020-05-12 13:36:31 -07:00
Ross Wightman 9cc289f18c Exclude EfficientNet-L2 models from test 2020-05-12 13:07:03 -07:00
Ross Wightman 2f884a0ce5 Add resnest14, resnest26, and two of the abalation grouped resnest50 models 2020-05-12 12:21:52 -07:00
Ross Wightman f4cdc2ac31 Add ResNeSt models 2020-05-11 23:27:09 -07:00
Ross Wightman 780860d140 Add norm_act factory method, move JIT of norm layers to factory 2020-05-09 22:09:21 -07:00
Ross Wightman 14edacdf9a DenseNet converted to support ABN (norm + act) modules. Experimenting with EvoNorm, IABN 2020-05-09 18:26:41 -07:00
Ross Wightman 022ed001f3 Update DenseNet to latest in Torchvision (torchscript compat, checkpointing, proper init). Start adding ehanced configurability, stem options... 2020-05-07 09:57:48 -07:00
Vyacheslav Shults a7ebe09029 Replace all None by nn.Identity() in all models reset_classifier when False-values num_classes is given.
Make small code refactoring
2020-05-06 09:54:03 +03:00
Vyacheslav Shults f0eb021620 Replace all None by nn.Identity() in HRNet modules 2020-05-05 21:09:35 +03:00
AFLALO, Jonathan Isaac a7f570c9b7 added MultiEpochsDataLoader 2020-05-05 14:47:02 +03:00
Ross Wightman 8d8677e03b Fix #139. Broken SKResNets after BlurPool addition, as a plus, SKResNets support AA now too. 2020-05-04 12:14:43 -07:00
Ross Wightman c9b6f415ca Bump version for Pypi release 2020-05-03 21:18:47 -07:00
AFLALO, Jonathan Isaac 9c15d57505 added efficientnet pruned weights 2020-05-03 09:29:45 +03:00
Ross Wightman ea300709f0 Fix model create fn not passing num_classes through. Fix #135 2020-05-01 18:37:03 -07:00
Ross Wightman 2c438c4e0d Merge branch 'master' of github.com:rwightman/pytorch-models 2020-05-01 17:03:17 -07:00
Ross Wightman 2681a8d618 Final blurpool2d cleanup and add resnetblur50 weights, match tresnet Downsample arg order to BlurPool2d for interop 2020-05-01 17:00:21 -07:00
Ross Wightman 9590f301a9 Merge branch 'blur' of https://github.com/VRandme/pytorch-image-models into VRandme-blur 2020-05-01 15:19:57 -07:00
Ross Wightman a5220ad3aa
Merge pull request #125 from Separius/patch-1
fix typo in eca
2020-05-01 15:11:56 -07:00
Ross Wightman 0834fbc01c Move pruned model adapt strings to separate txt files. A few minor formatting alignment tweaks. 2020-05-01 15:09:20 -07:00
Ross Wightman ba793f5c1c Merge branch 'adding_ECA_resnet' of https://github.com/yoniaflalo/pytorch-image-models into yoniaflalo-adding_ECA_resnet 2020-04-29 16:43:02 -07:00
AFLALO, Jonathan Isaac 07f19dd699 added eca resnet 2020-04-29 19:09:55 +03:00
Ross Wightman 1d4ac1b165 Bump version for pypi release. Fix #130 2020-04-27 18:02:40 -07:00
Ross Wightman be7c784d21 Small TResNet simplification, just use SelectAdaptivePool, don't notice any perf difference 2020-04-27 17:50:19 -07:00
Ross Wightman e3a98171b2 Remove some CRLF that made it into TResNet merge 2020-04-27 13:23:41 -07:00
Ross Wightman 0004f37d25 Some TResNet cleanup.
* allow use of global pool arg, test-time-pooling
* clean checkpoints to just contain state dict, add 448 res checkpoints
* support DataParallel via lazy filter creation for JIT Downsample
* some minor formatting (mostly alignment) preferences
2020-04-27 13:21:05 -07:00
Ross Wightman 64fe37d008 Remove old mean/std helper, rely fully on cmd line or default_cfg now. Fixes #126 2020-04-27 12:32:55 -07:00
Ross Wightman e6f24e5578 Add 'momentum' optimizer (SGD w/o nesterov) for stable EfficientDet training defaults 2020-04-25 19:42:13 -07:00
Sepehr Sameni 20290b5b56
fix typo in eca 2020-04-14 15:20:35 +04:30
Ross Wightman ebf82b84ac
Merge pull request #122 from mrT23/master
TResNet models
2020-04-12 18:23:46 -07:00
Alexey Chernov bdb165a8a4 Merge changes in feature extraction interface to MobileNetV3
Experimental feature extraction interface seems to be changed
a little bit with the most up to date version apparently found
in EfficientNet class. Here these changes are added to
MobileNetV3 class to make it support it and work again, too.
2020-04-13 02:02:14 +03:00
talrid 8a63c1add8 finalizing 2020-04-12 19:08:35 +03:00
talrid 6209146738 TResNet models 2020-04-12 18:44:12 +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 56608c9070 Bump version for pypi 2020-04-09 01:46:05 -07:00
Ross Wightman 1a8f5900ab Update EfficientNet feature extraction for EfficientDet. Add needed MaxPoolSame as well. 2020-04-09 01:41:54 -07:00
Chris Ha 06a50a94a8 Fix minor typos in create_attn.py and resnet.py
'eca'->'ceca'
and
doest not-> does not
2020-04-07 21:15:57 +09:00
Ross Wightman 1a9ab07307 One too many changes at a time, fix missing C 2020-04-07 21:12:08 +09:00
Ross Wightman f17b42bc33 Blur filter no longer a buffer 2020-04-07 21:12:08 +09:00
Ross Wightman 6cdeca24a3 Some cleanup and fixes for initial BlurPool impl. Still some testing and tweaks to go... 2020-04-07 21:12:08 +09:00
Chris Ha acd1b6cccd Implement Functional Blur on resnet.py
1. add ResNet argument blur=''
2. implement blur for maxpool and strided convs in downsampling blocks
2020-04-07 21:12:08 +09:00
Chris Ha ce3d82b58b Update blurpool.py
clean up code for PR
2020-04-07 21:12:07 +09:00
Chris Ha 3a287a6e76 Create blurpool.py
Initial implementation of blur layer.
currently tests as correct against Downsample of original github
2020-04-07 21:12:07 +09:00
Ross Wightman c99a5abed4
Merge pull request #115 from rwightman/mobilenetv2-experiment
MobileNet-V2 experiments
2020-04-05 17:32:06 -07:00
Ross Wightman e34074b4da Add final weights for MobileNet-V2 experiments 2020-04-05 17:31:02 -07:00
Ross Wightman a6a5565de7 Fiddling... 2020-03-19 10:20:20 -07:00
Ross Wightman 5a16c533ff Add better resnext50_32x4d weights trained by andravin 2020-03-18 14:43:50 -07:00
Ross Wightman bc998cad91 Experimenting with some MobileNetV2 variations to compare against EfficientNet-Lite 2020-03-18 13:54:06 -07:00
Ross Wightman 3406e582cf Add EfficientNet-Lite results, update README 2020-03-18 13:12:30 -07:00
Ross Wightman bd05258f7b EfficientNet-Lite model added w/ converted checkpoints, validation in progress... 2020-03-17 23:31:45 -07:00
Andrew Lavin d92cc4da54 Modified save_checkpoint to always save last checkpoint. Fixes #98. 2020-03-09 22:41:33 -07:00
Ross Wightman 56e2ac3a6d
Merge pull request #94 from rwightman/lr_noise
Learning rate noise, MobileNetV3 weights, and activate MobileNetV3/EfficientNet weight init change
2020-02-29 20:41:05 -08:00
Ross Wightman c16f25ced2 Add MobileNetV3 Large weights, results, update README and sotabench for merge 2020-02-29 20:37:20 -08:00
Ross Wightman c60069c1eb Annotate types on drop fns to avoid torchscript error 2020-02-27 09:30:23 -08:00
Ross Wightman 9fee316752 Enable fixed fanout calc in EfficientNet/MobileNetV3 weight init by default. Fix #84 2020-02-24 15:11:26 -08: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 cc5a11abba version bump for PyPi update 2020-02-22 10:26:19 -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 f1d5f8a6c4 Update comments for Selective Kernel and DropBlock/Path impl, add skresnet34 weights 2020-02-18 13:58:30 -08:00
Ross Wightman 670c61b28f Some cutmix/mixup cleanup/fixes 2020-02-17 11:00:54 -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
Ross Wightman 569419b38d Tweak some comments, add SKNet models with weights to sotabench, remove an unused branch 2020-02-15 21:18:25 -08:00
Ross Wightman 53c47479c4 Batch validation batch size adjustment, tweak L2 crop pct 2020-02-15 20:37:04 -08:00
Ross Wightman 08553e16b3 Merge branch 'master' into attention 2020-02-14 18:24:21 -08:00
Ross Wightman fa38f24967 Update SK network configs, add weights for skresnet8 and skresnext50 2020-02-14 15:37:00 -08:00
Ross Wightman f098fda2ca Add map_location='cpu' to ModelEma resume, should improve #72 2020-02-12 13:23:56 -08:00
Ross Wightman ba15ca47e8 Add ported EfficientNet-L2, B0-B7 NoisyStudent weights from TF TPU 2020-02-12 11:26:38 -08:00
Ross Wightman 5e6dbbaf30 Add CBAM for experimentation 2020-02-10 16:23:09 -08:00
Ross Wightman d725991870 Remove debug print from ECA module 2020-02-10 16:21:33 -08:00
Ross Wightman 2a7d256fd5 Re-enable mem-efficient/jit activations after torchscript tests 2020-02-10 11:59:36 -08:00
Ross Wightman f902bcd54c Layer refactoring continues, ResNet downsample rewrite for proper dilation in 3x3 and avg_pool cases
* select_conv2d -> create_conv2d
* added create_attn to create attention module from string/bool/module
* factor padding helpers into own file, use in both conv2d_same and avg_pool2d_same
* add some more test eca resnet variants
* minor tweaks, naming, comments, consistency
2020-02-10 11:55:03 -08:00
Ross Wightman a99ec4e7d1 A bunch more layer reorg, splitting many layers into own files. Improve torchscript compatibility. 2020-02-09 14:46:28 -08:00
Ross Wightman 13746a33fc Big move, layer modules and fn to timm/models/layers 2020-02-09 13:13:08 -08:00
Ross Wightman f54612f648 Merge branch 'select_kernel' into attention 2020-02-09 12:59:24 -08:00
Ross Wightman 4defbbbaa8 Fix module name mistake, start layers sub-package 2020-02-09 12:44:26 -08:00
Ross Wightman 7011cd0902 A little bit of ECA cleanup 2020-02-09 12:41:18 -08:00
Ross Wightman 46471df7b2 Merge pull request #82 from VRandme/eca
ECA-Net Efficient Channel Attention
2020-02-09 12:31:05 -08:00
Ross Wightman d0eb59ef46 Remove unused default_init for EfficientNets, experimenting with fanout calc for #84 2020-02-09 11:33:32 -08:00
Chris Ha e6a762346a Implement Adaptive Kernel selection
When channel size is given,
calculate adaptive kernel size according to original paper.
Otherwise use the given kernel size(k_size), which defaults to 3
2020-02-09 11:58:03 +09:00
Ross Wightman 13e8da2b46 SelectKernel split_input works best when input channels split like grouped conv, but output is full width. Disable zero_init for SK nets, seems a bad combo. 2020-02-07 22:42:04 -08:00
Chris Ha 6db087a1ff Merge remote-tracking branch 'upstream/master' into eca 2020-02-07 19:36:35 +09:00
Chris Ha 904c618040 Update EcaModule.py
Make pylint happy
(commas, unused imports, missed imports)
2020-02-07 19:36:18 +09:00
Chris Ha db91ba053b EcaModule(CamelCase)
CamelCased EcaModule.
Renamed all instances of ecalayer to EcaModule.
eca_module.py->EcaModule.py
2020-02-07 19:28:07 +09:00
Ross Wightman 5c4991a088 Add PyTorch trained EfficientNet-ES weights from Andrew Lavin 2020-02-06 12:53:55 -08:00
Chris Ha d04ff95eda Merge branch 'master' into eca 2020-02-06 22:44:52 +09:00
Chris Ha d63ae121d5 Clean up eca_module code
functionally similar
adjusted rwightman's version of reshaping and viewing.
Use F.pad for circular eca version for cleaner code
2020-02-06 22:44:33 +09:00
Ross Wightman d66819d1f3 Indentation mistake. Fixes #81 2020-02-04 22:56:00 -08:00
Chris Ha f87fcd7e88 Implement Eca modules
implement ECA module by
1. adopting original eca_module.py into models folder
2. adding use_eca layer besides every instance of SE layer
2020-02-04 23:15:29 +09:00
Ross Wightman 4808b3c32f Bump version for PyPi update, fix few out of date README items/mistakes, add README updates for TF EfficientNet-B8 (RandAugment) 2020-02-03 11:44:17 -08:00
Ross Wightman 7d07ebb660 Adding some configs to sknet, incl ResNet50 variants from 'Compounding ... Assembled Techniques' paper and original SKNet50 2020-02-01 23:28:48 -08:00
Ross Wightman a9d2424fd1 Add separate zero_init_last_bn function to support more block variety without a mess 2020-02-01 22:11:00 -08:00
Ross Wightman 355aa152d5 Just leave it float for now, will look at fp16 later. Remove unused reference code. 2020-02-01 22:11:00 -08:00
Ross Wightman ef457555d3 BlockDrop working on GPU 2020-02-01 22:11:00 -08:00
Ross Wightman 3ff19079f9 Missed nn_ops.py from last commit 2020-02-01 22:11:00 -08:00
Ross Wightman 9f11b4e8a2 Add ConvBnAct layer to parallel integrated SelectKernelConv, add support for DropPath and DropBlock to ResNet base and SK blocks 2020-02-01 22:11:00 -08:00
Ross Wightman cefc9b7761 Move SelectKernelConv to conv2d_layers and more
* always apply attention in SelectKernelConv, leave MixedConv for no attention alternative
* make MixedConv torchscript compatible
* refactor first/previous dilation name to make more sense in ResNet* networks
2020-02-01 22:11:00 -08:00
Ross Wightman 9abe610931 Used wrong channel var for split 2020-02-01 22:11:00 -08:00
Ross Wightman 58e28dc7e7 Move Selective Kernel blocks/convs to their own sknet.py file 2020-02-01 22:11:00 -08:00
Ross Wightman a93bae6dc5 A SelectiveKernelBasicBlock for more experiments 2020-02-01 22:11:00 -08:00
Ross Wightman ad087b4b17 Missed bias=False in selection conv 2020-02-01 22:11:00 -08:00
Ross Wightman c8b3d6b81a Initial impl of Selective Kernel Networks. Very much a WIP. 2020-02-01 22:11:00 -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 91534522f9 Add newly added TF ported EfficientNet-B8 weights (RandAugment) 2020-02-01 18:01:14 -08:00
Ross Wightman 12dbc74742 New ResNet50 JSD + RandAugment weights 2020-01-31 10:55:54 -08:00
Ross Wightman 2f41905ba5 Update ResNet50 weights to AuxMix trained 78.994 top-1. A few commentes re 'tiered_narrow' tn variant. 2020-01-12 17:55:58 -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 a28117ea46 Add tiered narrow ResNet (tn) and weights for seresnext26tn_32x4d 2020-01-11 11:29:01 -08:00
Ross Wightman 833066b540 A few minor things in SplitBN 2020-01-05 20:07:03 -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 2e955cfd0c Update RandomErasing with some improved arg names, tweak to aspect range 2020-01-05 14:31:48 -08:00
Ross Wightman 3cc0f91e23 Fix augmix variable name scope overlap, default non-blended mode 2020-01-05 14:27:27 -08:00
Ross Wightman ec0dd4053a Add updated RandAugment trained EfficientNet-B0 trained weights from @michaelklachko 2020-01-03 17:18:46 -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 53001dd292 ResNet / Res2Net additions:
* ResNet torchscript compat
* output_stride arg supported to limit network stride via dilations (support for dilation added to Res2Net)
* allow activation layer to be changed via act_layer arg
2020-01-01 17:15:56 -08:00
Ross Wightman f96b3e5e92 InceptionResNetV2 torchscript compatible 2020-01-01 17:13:37 -08:00
Ross Wightman 19d93fe454 Add selecsls60 weights 2019-12-31 16:49:04 -08:00
Ross Wightman 0062c15fb0 Update checkpoint url with modelzoo compatible ones. 2019-12-30 15:59:19 -08:00
Ross Wightman b5315e66b5 Streamline SelecSLS model without breaking checkpoint compat. Move cfg handling out of model class. Update feature/pooling behaviour to match current. 2019-12-30 15:44:47 -08:00
Ross Wightman d59a756c16 Run PyCharm autoformat on selecsls and change mix cap variables and model names to all lower 2019-12-30 14:30:46 -08:00
Ross Wightman fb3a0f4bb8
Merge pull request #65 from mehtadushy/selecsls
Incorporate SelecSLS Models
2019-12-30 14:23:53 -08:00
Ross Wightman 19fc205a4d Update comments on the new SE-ResNeXt26 models 2019-12-28 17:33:10 -08:00
Ross Wightman acc3ed2b8c Add EfficientNet-B3 weights, trained from scratch with RA. 2019-12-28 17:24:15 -08:00
Dushyant Mehta 2404361f62 correct asset paths 2019-12-28 23:32:20 +01:00
Dushyant Mehta 31939311f6 Added SelecSLS models 2019-12-28 23:06:00 +01:00
rwightman 1f4498f217 Add ResNet deep tiered stem and model weights for seresnext26t_32x4d and seresnext26d_32x4d 2019-12-28 11:43:50 -08:00
Dushyant Mehta 32012a44fd Added SelecSLS model 2019-12-28 20:41:55 +01:00
Ross Wightman 73b78459dc Add update RandAugment MixNet-XL weights 2019-12-24 10:08:24 -08:00
Ross Wightman 3afc2a4dc0 Some cleanup/improvements to AugMix impl:
* make 'increasing' levels for Contrast, Color, Brightness, Saturation ops
* remove recursion from faster blending mix
* add config striing parsing for AugMix
2019-12-20 23:04:11 -08:00
Ross Wightman 232ab7fb12 Working on an implementation of AugMix with JensenShannonDivergence loss that's compatible with my AutoAugment and RandAugment impl 2019-12-20 23:04:11 -08:00
Ross Wightman a435ea1327 Change reduce_bn to distribute_bn, add ability to choose between broadcast and reduce (mean). Add crop_pct arg to allow selecting validation crop while training. 2019-12-19 22:56:54 -08:00
Ross Wightman 3bff2b21dc Add support for keeping running bn stats the same across distributed training nodes before eval/save 2019-12-05 22:35:40 -08:00
Ross Wightman 0161de0127 Switch RandoErasing back to on GPU normal sampling 2019-12-05 22:35:08 -08:00
Ross Wightman ff421e5e09 New PyTorch trained EfficientNet-B2 weights with my RandAugment impl 2019-12-04 11:09:47 -08:00
Ross Wightman 3bef524f9c Finish with HRNet, weights and models updated. Improve consistency in model classifier/global pool treatment. 2019-11-29 17:56:36 -08:00
Ross Wightman 6ca0828166 Update EfficientNet comments, MobileNetV3 non-TF create fns, fix factory arg checks, bump PyTorch version req to 1.2 2019-11-28 17:43:00 -08:00
Ross Wightman eccbadca74 Update EfficientNet comments 2019-11-28 17:11:53 -08:00
Ross Wightman 902d32fb16 Renamed gen_efficientnet.py -> efficientnet.py 2019-11-28 17:04:35 -08:00
Ross Wightman 5a0a8de7e3 ResNet updates:
* remove redundant GluonResNet model/blocks and use the code in ResNet for Gluon weights
* change SEModules back to using AdaptiveAvgPool instead of mean, PyTorch issue long fixed
2019-11-28 17:04:35 -08:00
Ross Wightman a39cc43374 Bring EfficientNet and MobileNetV3 up to date with my gen-efficientnet repo
* Split MobileNetV3 and EfficientNet model files and put builder and blocks in own files (getting too large)
* Finalize CondConv EfficientNet variant
* Add the AdvProp weights files and B8 EfficientNet model
* Refine the feature extraction module for EfficientNet and MobileNetV3
2019-11-28 17:04:35 -08:00
Ross Wightman ad93347548 Initial HRNet classification model commit 2019-11-28 17:00:52 -08:00
Ross Wightman 2393708650 Missed stashing of out_indices in model 2019-11-28 17:00:52 -08:00
Ross Wightman 35e8f0c5e7 Fixup a few comments, add PyTorch version aware Flatten and finish as_sequential for GenEfficientNet 2019-11-28 17:00:52 -08:00
Ross Wightman 7ac6db4543 Missed activations.py 2019-11-28 17:00:52 -08:00
Ross Wightman 506df0e3d0 Add CondConv support for EfficientNet into WIP for GenEfficientNet Feature extraction setup 2019-11-28 17:00:52 -08:00
Ross Wightman 576d360f20 Bring in JIT version of optimized swish activation from gen_efficientnet as default (while working on feature extraction functionality here). 2019-11-22 13:57:45 -08:00
Ross Wightman 7b83e67f77 Pass drop connect arg through to EfficientNet models 2019-11-22 13:27:43 -08:00
Ross Wightman 31453b039e Update Auto/RandAugment comments, README, more.
* Add a weighted choice option for RandAugment
* Adjust magnitude noise/std naming, config
2019-11-22 13:24:52 -08:00
Ross Wightman 4243f076f1 Adding RandAugment to AutoAugment impl, some tweaks to AA included 2019-11-21 21:14:33 -08:00
Ross Wightman 0d58c50fb1 Add TF RandAug weights for B5/B7 EfficientNet models. 2019-10-30 16:49:17 -07:00
Ross Wightman c099374771 Map pretrained checkpoint to cpu to avoid issue with some pretrained checkpoints still having CUDA tensors. Fixes #42 2019-10-19 17:27:46 -07:00
Ross Wightman b93fcf0708 Add Facebook Research Semi-Supervised and Semi-Weakly Supervised ResNet model weights. 2019-10-19 17:05:37 -07:00
Ross Wightman a9eb484835 Add memory efficient Swish impl 2019-10-19 14:48:30 -07:00
rwightman d3ba34ee7e Fix Mobilenet V3 model name for sotabench. Minor res2net cleanup. 2019-09-05 15:47:56 -07:00
Ross Wightman 2680ad14bb Add Res2Net and DLA to README 2019-09-04 17:38:59 -07:00
rwightman adbf770f16 Add Res2Net and DLA models w/ pretrained weights. Update sotabench. 2019-09-04 17:06:42 -07:00
Ross Wightman 4002c0d4ce Fix AutoAugment abs translate calc 2019-09-01 22:07:45 -07:00
Ross Wightman c06274e5a2 Add note on random selection of magnitude value 2019-09-01 20:32:26 -07:00
Ross Wightman b750b76f67 More AutoAugment work. Ready to roll... 2019-09-01 16:55:42 -07:00
Ross Wightman 25d2088d9e Working on auto-augment 2019-08-31 23:09:48 -07:00
Ross Wightman aff194f42c
Merge pull request #32 from rwightman/opt
More optimizer work
2019-08-29 15:26:15 -07:00
Ross Wightman 64966f61f7 Add Nvidia's NovogGrad impl from Jasper (cleaner/faster than current) and Apex Fused optimizers 2019-08-29 15:21:38 -07:00
Ross Wightman 3d9c8a6489 Add support for new AMP checkpointing support w/ amp.state_dict 2019-08-29 15:19:18 -07:00
Ross Wightman ba3c97c3ad Some Lookahead cleanup and fixes 2019-08-29 15:14:35 -07:00
Ross Wightman e9d2ec4d8e
Merge pull request #31 from rwightman/opt
Optimizers and more
2019-08-28 00:20:39 -07:00
Ross Wightman fac58f609a Add RAdam, NovoGrad, Lookahead, and AdamW optimizers, a few ResNet tweaks and scheduler factory tweak.
* Add some of the trendy new optimizers. Decent results but not clearly better than the standards.
* Can create a None scheduler for constant LR
* ResNet defaults to zero_init of last BN in residual
* add resnet50d config
2019-08-28 00:14:10 -07:00
Ross Wightman 81875d52a6 Update sotabench model list, add Mean-Max pooling DPN variants, disable download progress 2019-08-27 00:07:32 -07:00
Ross Wightman f37e633e9b Merge remote-tracking branch 'origin/re-exp' into opt 2019-08-26 14:29:23 -07:00
Ross Wightman b06dce8d71 Bump version for next push to pypi 2019-08-25 22:32:12 -07:00
Ross Wightman 73fbd97ed4 Add weights for my MixNet-XL creation, include README updates for EdgeTPU models 2019-08-24 19:57:42 -07:00
Ross Wightman 51a2375b0c Experimenting with a custom MixNet-XL and MixNet-XXL definition 2019-08-24 19:57:42 -07:00
Ross Wightman 9ec6824bab Finally got around to adding EdgeTPU EfficientNet variant 2019-08-24 13:39:49 -07:00
Ross Wightman daeaa113e2 Add initial sotabench attempt. Split create_transform out of create_loader. Update requirements.txt 2019-08-12 23:06:19 -07:00
Ross Wightman 66634d2200 Add support to split random erasing blocks into randomly selected number with --recount arg. Fix random selection of aspect ratios. 2019-08-12 16:01:58 -07:00
Ross Wightman 6946281fde Experimenting with random erasing changes 2019-08-12 16:01:58 -07:00
Ross Wightman aeaaad7304
Merge pull request #24 from rwightman/gluon_xception
Port Gluon Aligned Xception models
2019-08-11 23:08:21 -07:00
Ross Wightman 3b4868f6dc A few more additions to Gluon Xception models to match interface of others. 2019-08-11 23:06:23 -07:00
Ross Wightman 4d505e0785 Add working Gluon Xception-65 model. Some cleanup still needed. 2019-08-10 13:52:01 -07:00