Ross Wightman
0167f749d3
Remove some old __future__ imports
2021-01-03 11:24:16 -08:00
Ross Wightman
ce69de70d3
Add 21k weight urls to vision_transformer. Cleanup feature_info for preact ResNetV2 (BiT) models
2020-12-28 16:59:15 -08:00
Ross Wightman
231d04e91a
ResNetV2 pre-act and non-preact model, w/ BiT pretrained weights and support for ViT R50 model. Tweaks for in21k num_classes passing. More to do... tests failing.
2020-12-28 16:59:15 -08:00
Ross Wightman
392595c7eb
Add pool_size to default cfgs for new models to prevent tests from failing. Add explicit 200D_320 model entrypoint for next benchmark run.
2020-12-18 21:28:47 -08:00
Ross Wightman
b1f1228a41
Add ResNet101D, 152D, and 200D weights, remove meh 66d model
2020-12-18 17:13:37 -08:00
Ross Wightman
cd72e66eff
Bug in last mod for features_only default_cfg
2020-12-03 12:33:01 -08:00
Ross Wightman
867a0e5a04
Add default_cfg back to models wrapped in feature extraction module as per discussion in #294 .
2020-12-03 10:24:35 -08:00
Ross Wightman
2ed8f24715
A few more changes for 0.3.2 maint release. Linear layer change for mobilenetv3 and inception_v3, support no bias for linear wrapper.
2020-11-30 16:19:52 -08:00
Ross Wightman
460eba7f24
Work around casting issue with combination of native torch AMP and torchscript for Linear layers
2020-11-30 13:30:51 -08:00
Ross Wightman
5f4b6076d8
Fix inplace arg compat for GELU and PreLU via activation factory
2020-11-30 13:27:40 -08:00
Ross Wightman
fd962c4b4a
Native SiLU (Swish) op doesn't export to ONNX
2020-11-29 21:56:55 -08:00
tigertang
43f2500c26
Add symbolic for SwishJitAutoFn to support onnx
2020-11-18 14:36:12 +08:00
Ross Wightman
b401952caf
Add newly added vision transformer large/base 224x224 weights ported from JAX official repo
2020-10-29 17:31:01 -07:00
Ross Wightman
61200db0ab
in_chans=1 working w/ pretrained weights for vision_transformer
2020-10-29 15:49:36 -07:00
Ross Wightman
e90edce438
Support native silu activation (aka swish). An optimized ver is available in PyTorch 1.7.
2020-10-29 15:45:17 -07:00
Ross Wightman
da6cd2cc1f
Fix regression for pretrained classifier loading when using entrypt functions directly
2020-10-29 15:43:39 -07:00
Ross Wightman
f591e90b0d
Make sure num_features attr is present in vit models as with others
2020-10-29 15:33:47 -07:00
Ross Wightman
f944242cb0
Fix #262 , num_classes arg mixup. Make vision_transformers a bit closer to other models wrt get/reset classfier/forward_features. Fix torchscript for ViT.
2020-10-29 13:58:28 -07:00
Ross Wightman
736f209e7d
Update vision transformers to be compatible with official code. Port official ViT weights from jax impl.
2020-10-26 18:42:11 -07:00
Ross Wightman
27a93e9de7
Improve test crop for ViT models. Small now 77.85, added base weights at 79.35 top-1.
2020-10-21 23:35:25 -07:00
Ross Wightman
d4db9e7977
Add small vision transformer weights. 77.42 top-1.
2020-10-21 12:14:12 -07:00
Ross Wightman
f31933cb37
Initial Vision Transformer impl w/ patch and hybrid variants. Refactor tuple helpers.
2020-10-13 13:33:44 -07:00
Ross Wightman
fcb6258877
Add missing leaky_relu layer factory defn, update Apex/Native loss scaler interfaces to support unscaled grad clipping. Bump ver to 0.2.2 for pending release.
2020-10-02 16:19:39 -07:00
Ross Wightman
e8e2d9cabf
Add DropPath (stochastic depth) to ReXNet and VoVNet. RegNet DropPath impl tweak and dedupe se args.
2020-09-24 18:20:36 -07:00
Ross Wightman
e8ca45854c
More models in sotabench, more control over sotabench run, dataset filename extraction consistency
2020-09-24 15:56:57 -07:00
Ross Wightman
9c406532bd
Add EfficientNet-EdgeTPU-M (efficientnet_em) model trained natively in PyTorch. More sotabench fiddling.
2020-09-23 17:12:07 -07:00
Ross Wightman
c40384f5bd
Add ResNet weights. 80.5 (top-1) ResNet-50-D, 77.1 ResNet-34-D, 72.7 ResNet-18-D.
2020-09-18 12:05:37 -07:00
Ross Wightman
33f8a1bf36
Updated README, add wide_resnet50_2 and seresnext50_32x4d weights
2020-09-03 10:45:17 -07:00
Ross Wightman
751b0bba98
Add global_pool (--gp) arg changes to allow passing 'fast' easily for train/validate to avoid channels_last issue with AdaptiveAvgPool
2020-09-02 16:13:47 -07:00
Ross Wightman
9c297ec67d
Cleanup Apex vs native AMP scaler state save/load. Cleanup CheckpointSaver a bit.
2020-09-02 15:12:59 -07:00
Ross Wightman
80c9d9cc72
Add 'fast' global pool option, remove redundant SEModule from tresnet, normal one is now 'fast'
2020-09-02 09:11:48 -07:00
Ross Wightman
90a01f47d1
hrnet features_only pretrained weight loading issue. Fix #232 .
2020-09-01 17:37:55 -07:00
Ross Wightman
110a7c4982
AdaptiveAvgPool2d -> mean((2,3)) for all SE/attn layers to avoid NaN with AMP + channels_last layout. See https://github.com/pytorch/pytorch/issues/43992
2020-09-01 16:05:32 -07:00
Ross Wightman
470220b1f4
Fix MobileNetV3 crash with global_pool='', output consistent with other models but not equivalent due to efficient head.
2020-08-18 14:11:30 -07:00
Ross Wightman
fc8b8afb6f
Fix a silly bug in Sample version of EvoNorm missing x* part of swish, update EvoNormBatch to accumulated unbiased variance.
2020-08-13 18:25:01 -07:00
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
Yusuke Uchida
f6b56602f9
fix test_model_default_cfgs
2020-08-11 23:23:57 +09: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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
aff194f42c
Merge pull request #32 from rwightman/opt
...
More optimizer work
2019-08-29 15:26:15 -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
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
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
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
Minqin Chen
4e7a854dd0
Update helpers.py
...
Fixing out of memory error by loading the checkpoint onto the CPU.
2019-08-11 04:21:39 +08:00
Ross Wightman
4fe2da558c
Add MixNet Small and Large PyTorch native weights (no same padding)
2019-08-02 23:22:48 -07:00
Ross Wightman
e879cf52fa
Update validation scores for new TF EfficientNet weights.
2019-07-31 14:38:55 -07:00
Ross Wightman
77e2e0c4e3
Add new auto-augmentation Tensorflow EfficientNet weights, incl B6 and B7 models. Validation scores still pending but looking good.
2019-07-30 18:31:02 -07:00
Ross Wightman
857f33015a
Add native PyTorch weights for MixNet-Medium with no SAME padding necessary. Remove unused block of code.
2019-07-29 11:59:15 -07:00
Ross Wightman
d4debe6597
Update version, results csv files, and move remaining dropbox weights to github
2019-07-25 16:54:44 -07:00
Ross Wightman
dfa9298b4e
Add MixNet ( https://arxiv.org/abs/1907.09595 ) with pretrained weights converted from Tensorflow impl
...
* refactor 'same' convolution and add helper to use MixedConv2d when needed
* improve performance of 'same' padding for cases that can be handled statically
* add support for extra exp, pw, and dw kernel specs with grouping support to decoder/string defs for MixNet
* shuffle some args for a bit more consistency, a little less clutter overall in gen_efficientnet.py
2019-07-25 11:42:01 -07:00
Ross Wightman
d6ac5bbc48
EfficientNet and related cleanup
...
* remove folded_bn support and corresponding untrainable tflite ported weights
* combine bn args into dict
* add inplace support to activations and use where possible for reduced mem on large models
2019-07-22 09:29:58 -07:00
Ross Wightman
3d9be78fc6
A bit more ResNet cleanup.
...
* add inplace=True back
* minor comment improvements
* few clarity changes
2019-07-19 16:44:35 -07:00
Ross Wightman
33436fafad
Add weights for ResNeXt50d model
2019-07-19 14:09:10 -07:00
Ross Wightman
e78cd79073
Move ResNet additions for Gluon into main ResNet impl. Add ResNet-26 and ResNet-26d models with weights.
2019-07-14 18:17:35 -07:00
Ross Wightman
949b7a81c4
Fix typo in Densenet default resolutions
2019-07-03 22:11:26 -07:00
Ross Wightman
da52fcf78a
Add NASNet-Large model
2019-07-03 22:10:50 -07:00
Ross Wightman
6057496409
Register dpn107
2019-06-30 09:57:06 -07:00
Ross Wightman
a6878b5218
Fix DPN config keys that I broke
2019-06-30 09:54:52 -07:00