Commit Graph

924 Commits (dc90816f2676c4e393fa26264eadc00a1f0c3e53)

Author SHA1 Message Date
Ross Wightman 41dc49a337 Vision Transformer refactoring and Rel Pos impl 2022-05-02 15:37:39 -07:00
Ross Wightman b7cb8d0337 Add Swin-V2 Small-NS weights (83.5 @ 224). Add layer scale like 'init_values' via post-norm LN weight scaling 2022-04-26 17:32:49 -07:00
jjsjann123 f88c606fcf fixing channels_last on cond_conv2d; update nvfuser debug env variable 2022-04-25 12:41:46 -07:00
Li Dong 09e9f3defb
migrate azure blob for beit checkpoints
## Motivation

We are going to use a new blob account to store the checkpoints.

## Modification

Modify the azure blob storage URLs for BEiT checkpoints.
2022-04-23 13:02:29 +08:00
Ross Wightman 52ac881402 Missed first_conv in latest seresnext 'D' default_cfgs 2022-04-22 20:55:52 -07:00
Ross Wightman 7629d8264d Add two new SE-ResNeXt101-D 32x8d weights, one anti-aliased and one not. Reshuffle default_cfgs vs model entrypoints for resnet.py so they are better aligned. 2022-04-22 16:54:53 -07:00
SeeFun 8f0bc0591e fix convnext args 2022-04-05 20:00:57 +08:00
Ross Wightman c5a8e929fb Add initial swinv2 tiny / small weights 2022-04-03 15:22:55 -07:00
Ross Wightman f670d98cb8 Make a few more layers symbolically traceable (remove from FX leaf modules)
* remove dtype kwarg from .to() calls in EvoNorm as it messed up script + trace combo
* BatchNormAct2d always uses custom forward (cut & paste from original) instead of super().forward. Fixes #1176
* BlurPool groups==channels, no need to use input.dim[1]
2022-03-24 21:43:56 -07:00
SeeFun ec4e9aa5a0
Add ConvNeXt tiny and small pretrain in22k
Add ConvNeXt tiny and small pretrain  in22k from ConvNeXt  repo:
06f7b05f92
2022-03-24 15:18:08 +08:00
Ross Wightman 575924ed60 Update test crop for new RegNet-V weights to match Y 2022-03-23 21:40:53 -07:00
Ross Wightman 1618527098 Add layer scale and parallel blocks to vision_transformer 2022-03-23 16:09:07 -07:00
Ross Wightman c42be74621 Add attrib / comments about Swin-S3 (AutoFormerV2) weights 2022-03-23 16:07:09 -07:00
Ross Wightman 474ac906a2 Add 'head norm first' convnext_tiny_hnf weights 2022-03-23 16:06:00 -07:00
Ross Wightman dc51334cdc Fix pruned adapt for EfficientNet models that are now using BatchNormAct layers 2022-03-22 20:33:01 -07:00
Ross Wightman 024fc4d9ab version 0.6.1 for master 2022-03-21 22:03:13 -07:00
Ross Wightman e1e037ba52 Fix bad tuple typing fix that was on XLA branch bust missed on master merge 2022-03-21 22:00:33 -07:00
Ross Wightman 341b464a5a Remove redundant noise attr from Plateau scheduler (use parent) 2022-03-21 22:00:03 -07:00
Ross Wightman fe457c1996 Update SwinTransformerV2Cr post-merge, update with grad checkpointing / grad matcher
* weight compat break, activate norm3 for final block of final stage (equivalent to pre-head norm, but while still in BLC shape)
* remove fold/unfold for TPU compat, add commented out roll code for TPU
* add option for end of stage norm in all stages
* allow weight_init to be selected between pytorch default inits and xavier / moco style vit variant
2022-03-21 14:50:28 -07:00
Ross Wightman b049a5c5c6 Merge remote-tracking branch 'origin/master' into norm_norm_norm 2022-03-21 13:41:43 -07:00
Ross Wightman 7cdd164d77 Fix #1184, scheduler noise bug during merge madness 2022-03-21 13:35:45 -07:00
Ross Wightman 9440a50c95 Merge branch 'mrT23-master' 2022-03-21 12:30:02 -07:00
Ross Wightman d98aa47d12 Revert ml-decoder changes to model factory and train script 2022-03-21 12:29:02 -07:00
Ross Wightman b20665d379
Merge pull request #1007 from qwertyforce/patch-1
update arxiv link
2022-03-21 12:12:58 -07:00
Ross Wightman 7a0994f581
Merge pull request #1150 from ChristophReich1996/master
Swin Transformer V2
2022-03-21 11:56:57 -07:00
Ross Wightman 61d3493f87 Fix hf-hub handling when hf-hub is config source 2022-03-21 11:12:55 -07:00
Ross Wightman 5f47518f27 Fix pit implementation to be clsoer to deit/levit re distillation head handling 2022-03-21 11:12:14 -07:00
Ross Wightman 0862e6ebae Fix correctness of some group matching regex (no impact on result), some formatting, missed forward_head for resnet 2022-03-19 14:58:54 -07:00
Ross Wightman 94bcdebd73 Add latest weights trained on TPU-v3 VM instances 2022-03-18 21:35:41 -07:00
Ross Wightman 0557c8257d Fix bug introduced in non layer_decay weight_decay application. Remove debug print, fix arg desc. 2022-02-28 17:06:32 -08:00
Ross Wightman 372ad5fa0d Significant model refactor and additions:
* All models updated with revised foward_features / forward_head interface
* Vision transformer and MLP based models consistently output sequence from forward_features (pooling or token selection considered part of 'head')
* WIP param grouping interface to allow consistent grouping of parameters for layer-wise decay across all model types
* Add gradient checkpointing support to a significant % of models, especially popular architectures
* Formatting and interface consistency improvements across models
* layer-wise LR decay impl part of optimizer factory w/ scale support in scheduler
* Poolformer and Volo architectures added
2022-02-28 13:56:23 -08:00
Ross Wightman 1420c118df Missed comitting outstanding changes to default_cfg keys and test exclusions for swin v2 2022-02-23 19:50:26 -08:00
Ross Wightman c6e4b7895a Swin V2 CR impl refactor.
* reformat and change some naming so closer to existing timm vision transformers
* remove typing that wasn't adding clarity (or causing torchscript issues)
* support non-square windows
* auto window size adjust from image size
* post-norm + main-branch no
2022-02-23 17:28:52 -08:00
Christoph Reich 67d140446b Fix bug in classification head 2022-02-20 22:28:05 +01:00
Christoph Reich 29add820ac Refactor (back to relative imports) 2022-02-20 00:46:48 +01:00
Christoph Reich 74a04e0016 Add parameter to change normalization type 2022-02-20 00:46:00 +01:00
Christoph Reich 2a4f6c13dd Create model functions 2022-02-20 00:40:22 +01:00
Christoph Reich 87b4d7a29a Add get and reset classifier method 2022-02-19 22:47:02 +01:00
Christoph Reich ff5f6bcd6c Check input resolution 2022-02-19 22:42:02 +01:00
Christoph Reich 81bf0b4033 Change parameter names to match Swin V1 2022-02-19 22:37:22 +01:00
Christoph Reich f227b88831 Add initials (CR) to model and file 2022-02-19 22:14:38 +01:00
Christoph Reich 90dc74c450 Add code from https://github.com/ChristophReich1996/Swin-Transformer-V2 and change docstring style to match timm 2022-02-19 22:12:11 +01:00
Ross Wightman 2c3870e107 semobilevit_s for good measure 2022-01-31 22:36:09 -08:00
Ross Wightman bcaeb91b03 Version to 0.6.0, possible interface incompatibilities vs 0.5.x 2022-01-31 15:42:14 -08:00
Ross Wightman 58ba49c8ef Add MobileViT models (w/ ByobNet base). Close #1038. 2022-01-31 15:39:34 -08:00
Ross Wightman 5f81d4de23 Move DeiT to own file, vit getting crowded. Working towards fixing #1029, make pooling interface for transformers and mlp closer to convnets. Still working through some details... 2022-01-26 22:53:57 -08:00
ayasyrev cf57695938 sched noise dup code remove 2022-01-26 11:53:08 +03:00
Ross Wightman 95cfc9b3e8 Merge remote-tracking branch 'origin/master' into norm_norm_norm 2022-01-25 22:20:45 -08:00
Ross Wightman abc9ba2544 Transitioning default_cfg -> pretrained_cfg. Improving handling of pretrained_cfg source (HF-Hub, files, timm config, etc). Checkpoint handling tweaks. 2022-01-25 21:54:13 -08:00
Ross Wightman 07379c6d5d Add vit_base2_patch32_256 for a model between base_patch16 and patch32 with a slightly larger img size and width 2022-01-24 14:46:47 -08:00
Ross Wightman 447677616f version 0.5.5 2022-01-20 21:18:30 -08:00
Ross Wightman 83b40c5a58 Last batch of small model weights (for now). mobilenetv3_small 050/075/100 and updated mnasnet_small with lambc/lamb optimizer. 2022-01-19 10:02:02 -08:00
Mi-Peng cdcd0a92ca fix lars 2022-01-19 17:49:43 +08:00
Ross Wightman 1aa617cb3b Add AvgPool2d anti-aliasing support to ResNet arch (as per OpenAI CLIP models), add a few blur aa models as well 2022-01-18 21:57:24 -08:00
Ross Wightman f0f9eccda8 Add --fuser arg to train/validate/benchmark scripts to select jit fuser type 2022-01-17 13:54:25 -08:00
Ross Wightman 010b486590 Add Dino pretrained weights (no head) for vit models. Add support to tests and helpers for models w/ no classifier (num_classes=0 in pretrained cfg) 2022-01-17 12:20:02 -08:00
Ross Wightman 738a9cd635 unbiased=False for torch.var_mean path of ConvNeXt LN. Fix #1090 2022-01-17 09:25:06 -08:00
Ross Wightman e0c4eec4b6 Default conv_mlp to False across the board for ConvNeXt, causing issues on more setups than it's improving right now... 2022-01-16 14:20:08 -08:00
Ross Wightman b669f4a588 Add ConvNeXt 22k->1k fine-tuned and 384 22k-1k fine-tuned weights after testing 2022-01-15 15:44:36 -08:00
Ross Wightman e967c72875 Update REAMDE.md. Sneak in g/G (giant / gigantic?) ViT defs from scaling paper 2022-01-14 16:28:27 -08:00
Ross Wightman 9ca3437178 Add some more small model weights lcnet, mnas, mnv2 2022-01-14 16:28:27 -08:00
Ross Wightman fa6463c936 Version 0.5.4 2022-01-14 16:28:27 -08:00
Ross Wightman fa81164378 Fix stem width for really small mobilenetv3 arch defs 2022-01-14 16:28:27 -08:00
Ross Wightman edd3d73695 Add missing dropout for head reset in ConvNeXt default head 2022-01-14 16:28:27 -08:00
Ross Wightman b093dcb46d Some convnext cleanup, remove in place mul_ for gamma, breaking symbolic trace, cleanup head a bit... 2022-01-14 16:28:27 -08:00
Ross Wightman 18934debc5 Add initial ConvNeXt impl (mods of official code) 2022-01-14 16:28:27 -08:00
Ross Wightman 656757d26b Fix MobileNetV2 head conv size for multiplier < 1.0. Add some missing modification copyrights, fix starting date of some old ones. 2022-01-14 16:28:27 -08:00
Ross Wightman ccfeb06936 Fix out_indices handling breakage, should have left as per vgg approach. 2022-01-07 19:30:51 -08:00
Ross Wightman a9f91483a6 Fix #1078, DarkNet has 6 feature maps. Make vgg and darknet out_indices handling/comments equivalent 2022-01-07 15:08:32 -08:00
Ross Wightman c21b21660d visformer supports spatial feat map, update pool_size in pretrained cfg to match 2022-01-07 14:31:43 -08:00
Ross Wightman 9c11dfd9cb Fix fbnetv3 pretrained cfg changes 2022-01-07 14:09:50 -08:00
Ross Wightman 1406cddc2e FBNetV3 timm trained weights added for b/d/g variants. Update version to 0.5.2 for pypi release. 2022-01-07 12:05:08 -08:00
Ross Wightman 02ae11e526 Leaving repeat aug sampler indices as tensor thrashes worker shared process memory 2022-01-06 22:33:09 -08:00
Ross Wightman 4df51f3932 Add lcnet_100 and mnasnet_small weights 2022-01-06 22:21:05 -08:00
Ross Wightman 5ccf682a8f Remove deprecated bn-tf train arg and create_model handler. Add evos/evob models back into fx test filter until norm_norm_norm branch merged. 2022-01-06 18:08:39 -08:00
Ross Wightman b9a715c86a Add more small model defs for MobileNetV3/V2/LCNet 2022-01-06 16:06:43 -08:00
Ross Wightman b27c21b09a Update drop_path and drop_block (fast impl) to be symbolically traceable, slightly faster 2022-01-06 16:04:58 -08:00
Ross Wightman 214c84a235 Disable use of timm nn.Linear wrapper since AMP autocast + torchscript use appears fixed 2022-01-06 16:01:51 -08:00
Ross Wightman 72b57163d1 Merge branch 'master' of https://github.com/mrT23/pytorch-image-models into mrT23-master 2022-01-06 13:57:16 -08:00
Ross Wightman de5fa791c6 Merge branch 'master' into norm_norm_norm 2022-01-03 11:37:00 -08:00
Ross Wightman 26ff57f953 Add more small model defs for MobileNetV3/V2/LCNet 2022-01-03 11:30:54 -08:00
Hyeongchan Kim a0b2657497
Use `torch.repeat_interleave()` to generate repeated indices faster (#1058)
* update: use numpy to generate repeated indices faster

* update: use torch.repeat_interleave() instead of np.repeat()

* refactor: remove unused import, numpy

* refactor: torch.range to torch.arange

* update: tensor to list before appending the extra samples

* update: concatenate the paddings with torch.cat
2022-01-02 14:01:06 -08:00
Ross Wightman 450ac6a0f5 Post merge tinynet fixes for pool_size, feature extraction 2021-12-21 23:51:54 -08:00
Ross Wightman a04164cd75 Merge branch 'tinynet' of https://github.com/rsomani95/pytorch-image-models into rsomani95-tinynet 2021-12-21 22:45:56 -08:00
Ross Wightman 8a93ce6ee3 Fix regnetv/w tests, refactor regnet generator code a bit 2021-12-16 17:08:25 -08:00
Ross Wightman 4dec8c8087 Fix skip path regression for updated EfficientNet and RegNet def. Add Pre-Act RegNet support (experimental). Remove BN-TF flag. Add efficientnet_b0_g8_gn model. 2021-12-16 14:53:57 -08:00
Ross Wightman a52a614475 Remove layer experiment which should not have been added 2021-12-14 14:29:32 -08:00
Ross Wightman ab49d275de Significant norm update
* ConvBnAct layer renamed -> ConvNormAct and ConvNormActAa for anti-aliased
* Significant update to EfficientNet and MobileNetV3 arch to support NormAct layers and grouped conv (as alternative to depthwise)
* Update RegNet to add Z variant
* Add Pre variant of XceptionAligned that works with NormAct layers
* EvoNorm matches bits_and_tpu branch for merge
2021-12-14 13:48:30 -08:00
Rahul Somani 31bcd36e46 add tinynet models 2021-12-14 19:34:04 +05:30
KAI ZHAO b4b8d1ec18 fix hard-coded strides 2021-12-14 17:22:54 +08:00
Ross Wightman d04f2f1377 Update drop_path and drop_block (fast impl) to be symbolically traceable, slightly faster 2021-12-05 15:36:56 -08:00
Ross Wightman 834a9ec721 Disable use of timm nn.Linear wrapper since AMP autocast + torchscript use appears fixed 2021-12-01 14:58:09 -08:00
Ross Wightman 78912b6375 Updated EvoNorm implementations with some experimentation. Add FilterResponseNorm. Updated RegnetZ and ResNetV2 model defs for trials. 2021-12-01 12:09:01 -08:00
Ross Wightman 55adfbeb8d Add commented code to increase open file limit via Python (for TFDS dataset building) 2021-11-30 17:02:27 -08:00
talrid c11f4c3218 support CNNs 2021-11-30 08:48:08 +02:00
mrT23 d6701d8a81
Merge branch 'rwightman:master' into master 2021-11-30 08:07:44 +02:00
qwertyforce ccb3815360
update arxiv link 2021-11-29 21:41:00 +03:00
Ross Wightman 3dc71695bf
Merge pull request #989 from martinsbruveris/feat/resmlp-dino
Added DINO pretrained ResMLP models.
2021-11-24 09:26:07 -08:00
Ross Wightman 480c676ffa Fix FX breaking assert in evonorm 2021-11-24 09:24:47 -08:00
Martins Bruveris 85c5ff26d7 Added DINO pretrained ResMLP models. 2021-11-24 15:02:46 +02:00
Ross Wightman d633a014e6 Post merge cleanup. Fix potential security issue passing kwargs directly through to serialized web data. 2021-11-23 16:54:01 -08:00
Nathan Raw b18c9e323b
Update helpers.py 2021-11-22 23:43:44 -05:00
Nathan Raw 308d0b9554
Merge branch 'master' into hf-save-and-push 2021-11-22 23:39:27 -05:00
Ross Wightman f0507f6da6 Fix k_decay default arg != 1.0 in poly scheduler 2021-11-22 09:37:36 -08:00
talrid 41559247e9 use_ml_decoder_head 2021-11-22 17:50:39 +02:00
Ross Wightman 1f53db2ece Updated lamhalobotnet weights, 81.5 top-1 2021-11-21 19:49:51 -08:00
Ross Wightman 15ef108eb4 Add better halo2botnet50ts weights, 82 top-1 @ 256 2021-11-21 14:09:12 -08:00
Ross Wightman 734b2244fe Add RegNetZ-D8 (83.5 @ 256, 84 @ 320) and RegNetZ-E8 (84.5 @ 256, 85 @ 320) weights. Update names of existing RegZ models to include group size. 2021-11-20 15:52:04 -08:00
Ross Wightman 93cc08fdc5 Make evonorm variables 1d to match other PyTorch norm layers, will break weight compat for any existing use (likely minimal, easy to fix). 2021-11-20 15:50:51 -08:00
Ross Wightman af607b75cc Prep a set of ResNetV2 models with GroupNorm, EvoNormB0, EvoNormS0 for BN free model experiments on TPU and IPU 2021-11-19 17:37:00 -08:00
Ross Wightman c976a410d9 Add ResNet-50 w/ GN (resnet50_gn) and SEBotNet-33-TS (sebotnet33ts_256) model defs and weights. Update halonet50ts weights w/ slightly better variant in1k val, more robust to test sets. 2021-11-19 14:24:43 -08:00
Ross Wightman f2006b2437 Cleanup qkv_bias cat in beit model so it can be traced 2021-11-18 21:25:00 -08:00
Ross Wightman 1076a65df1 Minor post FX merge cleanup 2021-11-18 19:47:07 -08:00
Ross Wightman 32c9937dec Merge branch 'fx-feature-extract-new' of https://github.com/alexander-soare/pytorch-image-models into alexander-soare-fx-feature-extract-new 2021-11-18 16:31:29 -08:00
Ross Wightman 78b36bf46c Places365 doesn't exist in some still used torchvision version 2021-11-18 14:59:51 -08:00
Alexander Soare 65d827c7a6 rename notrace registration and standardize trace_utils imports 2021-11-15 21:03:21 +00:00
Ross Wightman 9b2daf2a35 Add ResNeXt-50 weights 81.1 top-1 @ 224, 82 @ 288 with A1 'high aug' recipe 2021-11-14 13:17:27 -08:00
Ross Wightman 9b5d6dc7e2 Merge branch 'add-vit-b8' of https://github.com/martinsbruveris/pytorch-image-models into martinsbruveris-add-vit-b8 2021-11-14 12:54:28 -08:00
Ross Wightman cfa414cad2 Matching two bits_and_tpu changes for TFDs wrapper
* change 'samples' -> 'examples' for tfds wrapper to match tfds naming
* add class_to_idx for image classification datasets in tfds wrapper
2021-11-14 12:52:19 -08:00
Martins Bruveris 5220711d87 Added B/8 models to ViT. 2021-11-14 11:01:48 +00:00
Alexander Soare 0262a0e8e1 fx ready for review 2021-11-13 00:06:33 +00:00
Alexander Soare d2994016e9 Add try/except guards 2021-11-12 21:16:53 +00:00
Alexander Soare b25ff96768 wip - pre-rebase 2021-11-12 20:45:05 +00:00
Alexander Soare e051dce354 Make all models FX traceable 2021-11-12 20:45:05 +00:00
Alexander Soare cf4561ca72 Add FX based FeatureGraphNet capability 2021-11-12 20:45:05 +00:00
Alexander Soare 0149ec30d7 wip - attempting to rebase 2021-11-12 20:45:05 +00:00
Alexander Soare 02c3a75a45 wip - make it possible to use fx graph in train and eval mode 2021-11-12 20:45:05 +00:00
Alexander Soare bc3d4eb403 wip -rebase 2021-11-12 20:45:05 +00:00
Alexander Soare ab3ac3f25b Add FX based FeatureGraphNet capability 2021-11-12 20:45:05 +00:00
Ross Wightman 9ec3210c2d More TFDS parser cleanup, support improved TFDS even_split impl (on tfds-nightly only currently). 2021-11-10 15:52:09 -08:00
Ross Wightman ba65dfe2c6 Dataset work
* support some torchvision datasets
* improvements to TFDS wrapper for subsplit handling (fix #942), shuffle seed
* add class-map support to train (fix #957)
2021-11-09 22:34:15 -08:00
Ross Wightman ddc29da974 Add ResNet101 and ResNet152 weights from higher aug RSB recipes. 81.93 and 82.82 top-1 at 224x224. 2021-11-02 17:59:16 -07:00
Ross Wightman b328e56f49 Update eca_halonext26ts weights to a better set 2021-11-02 16:52:53 -07:00
Ross Wightman 2ddef942b9 Better fix for #954 that doesn't break torchscript, pull torch._assert into timm namespace when it exists 2021-11-02 11:22:33 -07:00
Ross Wightman 4f0f9cb348 Fix #954 by bringing traceable _assert into timm to allow compat w/ PyTorch < 1.8 2021-11-02 09:21:40 -07:00
Ross Wightman a41de1f666 Add interpolation mode handling to transforms. Removes InterpolationMode warning. Works for torchvision versions w/ and w/o InterpolationMode enum. Fix #738. 2021-10-28 17:35:01 -07:00
Ross Wightman ed41d32637 Add repr to auto_augment and random_erasing impl 2021-10-28 17:33:36 -07:00
Ross Wightman ae72d009fa Add weights for lambda_resnet50ts, halo2botnet50ts, lamhalobotnet50ts, updated halonet50ts 2021-10-27 22:08:54 -07:00
Ross Wightman b745d30a3e Fix formatting of last commit 2021-10-25 15:15:14 -07:00
Ross Wightman 3478f1d7f1 Traceability fix for vit models for some experiments 2021-10-25 15:13:08 -07:00
Ross Wightman f658a72e72 Cleanup re-use of Dropout modules in Mlp modules after some twitter feedback :p 2021-10-25 00:40:59 -07:00
Thomas Viehmann f805ba86d9 use .unbind instead of explicitly listing the indices 2021-10-24 21:08:47 +02:00
Ross Wightman 57992509f9 Fix some formatting in utils/model.py 2021-10-23 20:35:36 -07:00
Ross Wightman 0fe4fd3f1f add d8 and e8 regnetz models with group size 8 2021-10-23 20:34:21 -07:00
Ross Wightman 25e7c8c5e5 Update broken resnetv2_50 weight url, add resnetv1_101 a1h recipe weights for 224x224 train 2021-10-20 22:14:12 -07:00
Ross Wightman b6caa356d2 Fixed eca_botnext26ts_256 weights added, 79.27 2021-10-19 12:44:28 -07:00
Ross Wightman c02334d9fa Add weights for regnetz_d and haloregnetz_c, update regnetz_c weights. Add commented PyTorch XLA code for halo attention 2021-10-19 12:32:09 -07:00
Ross Wightman 02daf2ab94 Add option to include relative pos embedding in the attention scaling as per references. See discussion #912 2021-10-12 15:37:01 -07:00
masafumi 047a5ec05f Fix bugs that Mixup does not work device=cpu 2021-10-12 23:51:46 +09:00
Ross Wightman cd34913278 Remove some outdated comments, botnet networks working great now. 2021-10-11 22:43:41 -07:00