Ross Wightman
9419577c90
Experimenting with XSepConv w/ EfficientNet and MobileNetV3...
5 years ago
Ross Wightman
8bd08d5f64
Per-stage eca MV3 config, going to shelve these experiments for a while, not proving very productive
5 years ago
Ross Wightman
ade1ba5fe3
Bring in code that should fix 1d circular padding properly, tweaks to ECA impl, using CECA in MobileNetV3 experiment
5 years ago
Ross Wightman
67e759f710
Adding support to EfficientNet / MobileNetV3 to for different attention layers in .se position
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
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
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
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
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
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
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