Commit Graph

728 Commits (5c7d2982346bd7faca4d083bd52dc9228dc9cdf7)
 

Author SHA1 Message Date
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
Ross Wightman cade829105 Add EfficientNet-ES to sotabench 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 5eb0e363a6
Update README.md 2020-02-06 12:56:46 -08: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
Chris Ha b0d45fd09c Merge remote-tracking branch 'upstream/master' 2020-02-06 22:00:37 +09:00
Ross Wightman d66819d1f3 Indentation mistake. Fixes #81 2020-02-04 22:56:00 -08:00
Ross Wightman 65cda1c63f
Merge pull request #83 from andravin/validation-batch-size-multiplier
Added commandline argument validation-batch-size-multiplier.
2020-02-04 22:49:42 -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
Chris Ha 697e05cb3e Merge remote-tracking branch 'upstream/master' 2020-02-04 21:02:55 +09:00
Andrew Lavin b72013def8 Added commandline argument validation-batch-size-multiplier with default set to 1. 2020-02-04 01:02:27 -08: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 5c85389e26
Update README.md 2020-02-02 20:01:26 -08:00
Ross Wightman 820b73d280
Update README.md 2020-02-02 19:38:10 -08:00
Ross Wightman 82c0a2ff12
Update README.md
Fix relative paths (I think)
2020-02-02 19:37:18 -08:00
Ross Wightman 1ffd2d0694
Add results/README.md 2020-02-02 19:35:44 -08:00
Chris Ha 89a32454e1 Merge remote-tracking branch 'upstream/master' 2020-02-02 23:05:49 +09: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 fd98fb33c5 Update sotabench with tf_efficientnet_b8 model 2020-02-01 18:12:25 -08:00
Ross Wightman 7c88356682 Add update results on ImageNet validation, ImageNetV2, ImageNet-A, and ImageNet-Sketch for all models 2020-02-01 18:10:13 -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 82dd60b33c Rename results files for more clarity 2020-01-31 23:00:02 -08:00
Ross Wightman 5b7cc16ac9 Add warning about using sync-bn with zero initialized BN layers. Fixes #54 2020-01-31 11:44:24 -08:00
Ross Wightman b18c19901e
Update README.md
Typo
2020-01-31 10:59:31 -08:00