Ross Wightman
7729f40dca
Fix another bug, update all gluon resnet models to use new creation method (feature support)
5 years ago
Ross Wightman
d72ac0db25
Fix #173 , lr cycle default 0 vs 1. Fix #177 , mirror resnest weights for future stability.
5 years ago
Ross Wightman
d0113f9cdb
Fix a few issues that came up in tests
5 years ago
Ross Wightman
d23a2697d0
Working on feature extraction, interfaces refined, a number of models working, some in progress.
5 years ago
Ross Wightman
24e7535278
Remove tests from distrib
5 years ago
Ross Wightman
328339a086
Add ESE-VoVNet-19-DW weights
5 years ago
Ross Wightman
2d83752bc2
Fix default interpolation/crop of largest 2 ResNeSt models
5 years ago
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.
5 years ago
Ross Wightman
39f27c1add
Almost ready to merge, vovnet typo, version bump, readme addition
5 years ago
Ross Wightman
151679c2f1
Add custom grad tests, fix cut & paste error with hard_mish ME, add a few more pytorch act fns to factory
5 years ago
Ross Wightman
6c7932fe75
Update sotabench.py, tweak VovNet cfg
5 years ago
Ross Wightman
0aca08384f
Update regnet cfg keys to match model names so registry works properly
5 years ago
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
5 years ago
Ross Wightman
13c0a6290e
Add ESE-VovNet39 weights, 79.32 top-1
5 years ago
Ross Wightman
4ddde1d3a4
Fix two regressions
5 years ago
Ross Wightman
a7e8cadd15
Remove pointless densenet configs, add an iabn version of 264 as it makes more sense to try someday...
5 years ago
Ross Wightman
e78daf586a
better densenet121 and densenetblur121d weights
5 years ago
Ross Wightman
7be299504f
Add missing feature_info() on MobileNetV3, make hook feature output order/type consistent with bottleneck (list, decreasing fmap size)
5 years ago
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.
5 years ago
Ross Wightman
f28170df3f
Fix an an untested change, remove a debug print
5 years ago
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
5 years ago
Ross Wightman
0ea53cecc3
Merge branch 'master' into densenet_update_and_more
5 years ago
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.
5 years ago
Ross Wightman
afb6bd0669
Add backward and default_cfg tests and fix a few issues found. Fix #153
5 years ago
Ross Wightman
50658b9a67
Add RegNet models and weights
5 years ago
Ross Wightman
7df83258c9
Merge branch 'master' into densenet_update_and_more
5 years ago
Ross Wightman
1904ed8fec
Improve dropblock impl, add fast variant, and better AMP speed, inplace, batchwise... few ResNeSt cleanups
5 years ago
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.
5 years ago
Ross Wightman
c4ca016656
Merge pull request #145 from rwightman/resnest
...
ResNeSt
5 years ago
Ross Wightman
208e7912f7
Missed one of the abalation model entrypoints, update README
5 years ago
Ross Wightman
9cc289f18c
Exclude EfficientNet-L2 models from test
5 years ago
Ross Wightman
2f884a0ce5
Add resnest14, resnest26, and two of the abalation grouped resnest50 models
5 years ago
Ross Wightman
f4cdc2ac31
Add ResNeSt models
5 years ago
Ross Wightman
780860d140
Add norm_act factory method, move JIT of norm layers to factory
5 years ago
Ross Wightman
14edacdf9a
DenseNet converted to support ABN (norm + act) modules. Experimenting with EvoNorm, IABN
5 years ago
Ross Wightman
022ed001f3
Update DenseNet to latest in Torchvision (torchscript compat, checkpointing, proper init). Start adding ehanced configurability, stem options...
5 years ago
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
5 years ago
Vyacheslav Shults
f0eb021620
Replace all None by nn.Identity() in HRNet modules
5 years ago
AFLALO, Jonathan Isaac
a7f570c9b7
added MultiEpochsDataLoader
5 years ago
Ross Wightman
8d8677e03b
Fix #139 . Broken SKResNets after BlurPool addition, as a plus, SKResNets support AA now too.
5 years ago
Ross Wightman
c9b6f415ca
Bump version for Pypi release
5 years ago
AFLALO, Jonathan Isaac
9c15d57505
added efficientnet pruned weights
5 years ago
Ross Wightman
ea300709f0
Fix model create fn not passing num_classes through. Fix #135
5 years ago
Ross Wightman
2c438c4e0d
Merge branch 'master' of github.com:rwightman/pytorch-models
5 years ago
Ross Wightman
2681a8d618
Final blurpool2d cleanup and add resnetblur50 weights, match tresnet Downsample arg order to BlurPool2d for interop
5 years ago
Ross Wightman
9590f301a9
Merge branch 'blur' of https://github.com/VRandme/pytorch-image-models into VRandme-blur
5 years ago
Ross Wightman
a5220ad3aa
Merge pull request #125 from Separius/patch-1
...
fix typo in eca
5 years ago
Ross Wightman
0834fbc01c
Move pruned model adapt strings to separate txt files. A few minor formatting alignment tweaks.
5 years ago
Ross Wightman
ba793f5c1c
Merge branch 'adding_ECA_resnet' of https://github.com/yoniaflalo/pytorch-image-models into yoniaflalo-adding_ECA_resnet
5 years ago
AFLALO, Jonathan Isaac
07f19dd699
added eca resnet
5 years ago
Ross Wightman
1d4ac1b165
Bump version for pypi release. Fix #130
5 years ago
Ross Wightman
be7c784d21
Small TResNet simplification, just use SelectAdaptivePool, don't notice any perf difference
5 years ago
Ross Wightman
e3a98171b2
Remove some CRLF that made it into TResNet merge
5 years ago
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
5 years ago
Ross Wightman
64fe37d008
Remove old mean/std helper, rely fully on cmd line or default_cfg now. Fixes #126
5 years ago
Ross Wightman
e6f24e5578
Add 'momentum' optimizer (SGD w/o nesterov) for stable EfficientDet training defaults
5 years ago
Sepehr Sameni
20290b5b56
fix typo in eca
5 years ago
Ross Wightman
ebf82b84ac
Merge pull request #122 from mrT23/master
...
TResNet models
5 years ago
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.
5 years ago
talrid
8a63c1add8
finalizing
5 years ago
talrid
6209146738
TResNet models
5 years ago
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
5 years ago
Ross Wightman
56608c9070
Bump version for pypi
5 years ago
Ross Wightman
1a8f5900ab
Update EfficientNet feature extraction for EfficientDet. Add needed MaxPoolSame as well.
5 years ago
Chris Ha
06a50a94a8
Fix minor typos in create_attn.py and resnet.py
...
'eca'->'ceca'
and
doest not-> does not
5 years ago
Ross Wightman
1a9ab07307
One too many changes at a time, fix missing C
5 years ago
Ross Wightman
f17b42bc33
Blur filter no longer a buffer
5 years ago
Ross Wightman
6cdeca24a3
Some cleanup and fixes for initial BlurPool impl. Still some testing and tweaks to go...
5 years ago
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
5 years ago
Chris Ha
ce3d82b58b
Update blurpool.py
...
clean up code for PR
5 years ago
Chris Ha
3a287a6e76
Create blurpool.py
...
Initial implementation of blur layer.
currently tests as correct against Downsample of original github
5 years ago
Ross Wightman
c99a5abed4
Merge pull request #115 from rwightman/mobilenetv2-experiment
...
MobileNet-V2 experiments
5 years ago
Ross Wightman
e34074b4da
Add final weights for MobileNet-V2 experiments
5 years ago
Ross Wightman
a6a5565de7
Fiddling...
5 years ago
Ross Wightman
5a16c533ff
Add better resnext50_32x4d weights trained by andravin
5 years ago
Ross Wightman
bc998cad91
Experimenting with some MobileNetV2 variations to compare against EfficientNet-Lite
5 years ago
Ross Wightman
3406e582cf
Add EfficientNet-Lite results, update README
5 years ago
Ross Wightman
bd05258f7b
EfficientNet-Lite model added w/ converted checkpoints, validation in progress...
5 years ago
Andrew Lavin
d92cc4da54
Modified save_checkpoint to always save last checkpoint. Fixes #98 .
5 years ago
Ross Wightman
56e2ac3a6d
Merge pull request #94 from rwightman/lr_noise
...
Learning rate noise, MobileNetV3 weights, and activate MobileNetV3/EfficientNet weight init change
5 years ago
Ross Wightman
c16f25ced2
Add MobileNetV3 Large weights, results, update README and sotabench for merge
5 years ago
Ross Wightman
c60069c1eb
Annotate types on drop fns to avoid torchscript error
5 years ago
Ross Wightman
9fee316752
Enable fixed fanout calc in EfficientNet/MobileNetV3 weight init by default. Fix #84
5 years ago
Ross Wightman
27b3680d49
Revamp LR noise, move logic to scheduler base. Fixup PlateauLRScheduler and add it as an option.
5 years ago
Ross Wightman
cc5a11abba
version bump for PyPi update
5 years ago
Ross Wightman
514b0938c4
Experimenting with per-epoch learning rate noise w/ step scheduler
5 years ago
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.
5 years ago
Ross Wightman
f1d5f8a6c4
Update comments for Selective Kernel and DropBlock/Path impl, add skresnet34 weights
5 years ago
Ross Wightman
670c61b28f
Some cutmix/mixup cleanup/fixes
5 years ago
Ross Wightman
b3cb5f3275
Working on CutMix impl as per #8 , integrating with Mixup, currently experimenting...
5 years ago
Ross Wightman
569419b38d
Tweak some comments, add SKNet models with weights to sotabench, remove an unused branch
5 years ago
Ross Wightman
53c47479c4
Batch validation batch size adjustment, tweak L2 crop pct
5 years ago
Ross Wightman
08553e16b3
Merge branch 'master' into attention
5 years ago
Ross Wightman
fa38f24967
Update SK network configs, add weights for skresnet8 and skresnext50
5 years ago
Ross Wightman
f098fda2ca
Add map_location='cpu' to ModelEma resume, should improve #72
5 years ago
Ross Wightman
ba15ca47e8
Add ported EfficientNet-L2, B0-B7 NoisyStudent weights from TF TPU
5 years ago
Ross Wightman
5e6dbbaf30
Add CBAM for experimentation
5 years ago
Ross Wightman
d725991870
Remove debug print from ECA module
5 years ago
Ross Wightman
2a7d256fd5
Re-enable mem-efficient/jit activations after torchscript tests
5 years ago
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
5 years ago
Ross Wightman
a99ec4e7d1
A bunch more layer reorg, splitting many layers into own files. Improve torchscript compatibility.
5 years ago
Ross Wightman
13746a33fc
Big move, layer modules and fn to timm/models/layers
5 years ago
Ross Wightman
f54612f648
Merge branch 'select_kernel' into attention
5 years ago
Ross Wightman
4defbbbaa8
Fix module name mistake, start layers sub-package
5 years ago
Ross Wightman
7011cd0902
A little bit of ECA cleanup
5 years ago
Ross Wightman
46471df7b2
Merge pull request #82 from VRandme/eca
...
ECA-Net Efficient Channel Attention
5 years ago
Ross Wightman
d0eb59ef46
Remove unused default_init for EfficientNets, experimenting with fanout calc for #84
5 years ago
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
5 years ago
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.
5 years ago
Chris Ha
6db087a1ff
Merge remote-tracking branch 'upstream/master' into eca
5 years ago
Chris Ha
904c618040
Update EcaModule.py
...
Make pylint happy
(commas, unused imports, missed imports)
5 years ago
Chris Ha
db91ba053b
EcaModule(CamelCase)
...
CamelCased EcaModule.
Renamed all instances of ecalayer to EcaModule.
eca_module.py->EcaModule.py
5 years ago
Ross Wightman
5c4991a088
Add PyTorch trained EfficientNet-ES weights from Andrew Lavin
5 years ago
Chris Ha
d04ff95eda
Merge branch 'master' into eca
5 years ago
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
5 years ago
Ross Wightman
d66819d1f3
Indentation mistake. Fixes #81
5 years ago
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
5 years ago
Ross Wightman
4808b3c32f
Bump version for PyPi update, fix few out of date README items/mistakes, add README updates for TF EfficientNet-B8 (RandAugment)
5 years ago
Ross Wightman
7d07ebb660
Adding some configs to sknet, incl ResNet50 variants from 'Compounding ... Assembled Techniques' paper and original SKNet50
5 years ago
Ross Wightman
a9d2424fd1
Add separate zero_init_last_bn function to support more block variety without a mess
5 years ago
Ross Wightman
355aa152d5
Just leave it float for now, will look at fp16 later. Remove unused reference code.
5 years ago
Ross Wightman
ef457555d3
BlockDrop working on GPU
5 years ago
Ross Wightman
3ff19079f9
Missed nn_ops.py from last commit
5 years ago
Ross Wightman
9f11b4e8a2
Add ConvBnAct layer to parallel integrated SelectKernelConv, add support for DropPath and DropBlock to ResNet base and SK blocks
5 years ago
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
5 years ago
Ross Wightman
9abe610931
Used wrong channel var for split
5 years ago
Ross Wightman
58e28dc7e7
Move Selective Kernel blocks/convs to their own sknet.py file
5 years ago
Ross Wightman
a93bae6dc5
A SelectiveKernelBasicBlock for more experiments
5 years ago
Ross Wightman
ad087b4b17
Missed bias=False in selection conv
5 years ago
Ross Wightman
c8b3d6b81a
Initial impl of Selective Kernel Networks. Very much a WIP.
5 years ago
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.
5 years ago
Ross Wightman
91534522f9
Add newly added TF ported EfficientNet-B8 weights (RandAugment)
5 years ago
Ross Wightman
12dbc74742
New ResNet50 JSD + RandAugment weights
5 years ago
Ross Wightman
2f41905ba5
Update ResNet50 weights to AuxMix trained 78.994 top-1. A few commentes re 'tiered_narrow' tn variant.
5 years ago
Ross Wightman
d9a6a9d0af
Merge pull request #74 from rwightman/augmix-jsd
...
AugMix, JSD loss, SplitBatchNorm (Auxiliary BN), and more
5 years ago
Ross Wightman
3eb4a96eda
Update AugMix, JSD, etc comments and references
5 years ago
Ross Wightman
a28117ea46
Add tiered narrow ResNet (tn) and weights for seresnext26tn_32x4d
5 years ago
Ross Wightman
833066b540
A few minor things in SplitBN
5 years ago
Ross Wightman
7547119891
Add SplitBatchNorm. AugMix, Rand/AutoAugment, Split (Aux) BatchNorm, Jensen-Shannon Divergence, RandomErasing all working together
5 years ago
Ross Wightman
2e955cfd0c
Update RandomErasing with some improved arg names, tweak to aspect range
5 years ago
Ross Wightman
3cc0f91e23
Fix augmix variable name scope overlap, default non-blended mode
5 years ago
Ross Wightman
ec0dd4053a
Add updated RandAugment trained EfficientNet-B0 trained weights from @michaelklachko
5 years ago
Ross Wightman
40fea63ebe
Add checkpoint averaging script. Add headers, shebangs, exec perms to all scripts
5 years ago
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
5 years ago
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
5 years ago
Ross Wightman
f96b3e5e92
InceptionResNetV2 torchscript compatible
5 years ago
Ross Wightman
19d93fe454
Add selecsls60 weights
5 years ago
Ross Wightman
0062c15fb0
Update checkpoint url with modelzoo compatible ones.
5 years ago
Ross Wightman
b5315e66b5
Streamline SelecSLS model without breaking checkpoint compat. Move cfg handling out of model class. Update feature/pooling behaviour to match current.
5 years ago
Ross Wightman
d59a756c16
Run PyCharm autoformat on selecsls and change mix cap variables and model names to all lower
5 years ago