Commit Graph

181 Commits (dc18cda2e74962d28df4c16c667745df03ffa0b5)

Author SHA1 Message Date
Ross Wightman cf5fec5047 Cleanup experimental vit weight init a bit 2021-03-20 09:44:24 -07:00
Ross Wightman 740f32c96a Add ECA-NFNet-L0 weights and update model name. Update README and bump version to 0.4.6 2021-03-17 13:55:32 -07:00
Ross Wightman f57db99101 Update README, fix iabn pip version print. 2021-03-07 16:17:06 -08:00
Ross Wightman 8563609b28 Update notes in ScaledStdConv impl 2021-02-18 12:44:08 -08:00
Ross Wightman 678ba4e0a2 Add NFNet-F model weights ported from DeepMind Haiku impl and new set of models w/ compatible config. 2021-02-18 12:28:46 -08:00
Ross Wightman d8e69206be
Merge pull request #419 from rwightman/byob_vgg_models
More models, GPU-Efficient Nets, RepVGG, classic VGG, and flexible Byob backbone.
2021-02-10 15:44:09 -08:00
Reuben 94ca140b67 update collections.abc import 2021-02-10 23:54:35 +11:00
Ross Wightman 1bcc69e0ad Use in_channels for depthwise groups, allows using `out_channels=N * in_channels` (does not impact existing models). Fix #354. 2021-02-09 16:22:52 -08:00
Ross Wightman 9811e229f7 Fix regression in models with 1001 class pretrained weights. Improve batchnorm arg and BatchNormAct layer handling in several models. 2021-02-09 16:22:52 -08:00
Ross Wightman a39c3ee216
Merge branch 'master' into eca-weights 2021-02-08 11:52:31 -08:00
Ross Wightman 68a4144882 Add new weights for ecaresnet26t/50t/269d models. Remove distinction between 't' and 'tn' (tiered models), tn is now t. Add test time img size spec to default cfg. 2021-02-06 16:30:02 -08:00
Ross Wightman b9843f954b
Merge pull request #282 from tigert1998/patch-1
Add symbolic for SwishJitAutoFn to support onnx
2021-02-04 12:18:40 -08:00
hwangdeyu 7a4be5c035 add operator HardSwishJitAutoFn export to onnx 2021-02-03 09:06:53 +08:00
Ross Wightman 90980de4a9 Fix up a few details in NFResNet models, managed stable training. Add support for gamma gain to be applied in activation or ScaleStdConv. Some tweaks to ScaledStdConv. 2021-01-30 16:32:07 -08:00
Ross Wightman 5a8e1e643e Initial Normalizer-Free Reg/ResNet impl. A bit of related layer refactoring. 2021-01-27 22:06:57 -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 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 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 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 e8ca45854c More models in sotabench, more control over sotabench run, dataset filename extraction consistency 2020-09-24 15:56:57 -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 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 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 b1f1a54de9 More uniform treatment of classifiers across all models, reduce code duplication. 2020-08-03 22:18:24 -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 7ba5a384d3 Add ReXNet w/ remapped weights, feature support 2020-07-23 10:28:57 -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 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 d0113f9cdb Fix a few issues that came up in tests 2020-06-29 21:13:21 -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
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 4ddde1d3a4 Fix two regressions 2020-06-05 11:04:51 -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 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 208e7912f7 Missed one of the abalation model entrypoints, update README 2020-05-12 13:36:31 -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 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 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 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
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 c60069c1eb Annotate types on drop fns to avoid torchscript error 2020-02-27 09:30:23 -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 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 4defbbbaa8 Fix module name mistake, start layers sub-package 2020-02-09 12:44:26 -08:00