Commit Graph

1066 Commits (808f4a7ebd5ffa0e951e22e9636f1bbb6a01730c)

Author SHA1 Message Date
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
Ross Wightman 6ed4cdccca Update lambda_resnet26t weights with better set 2021-10-10 16:32:54 -07:00
ICLR Author 44d6d51668 Add ConvMixer 2021-10-09 21:09:51 -04:00
Ross Wightman a85df34993 Update lambda_resnet26rpt weights to 78.9, add better halonet26t weights at 79.1 with tweak to attention dim 2021-10-08 17:44:13 -07:00
Ross Wightman b544ad4d3f regnetz model default cfg tweaks 2021-10-06 21:14:59 -07:00
Ross Wightman e5da481073 Small post-merge tweak for freeze/unfreeze, add to __init__ for utils 2021-10-06 17:00:27 -07:00
Ross Wightman 5ca72dcc75 Merge branch 'freeze-functionality' of https://github.com/alexander-soare/pytorch-image-models into alexander-soare-freeze-functionality 2021-10-06 16:51:03 -07:00
Ross Wightman e2b8d44ff0 Halo, bottleneck attn, lambda layer additions and cleanup along w/ experimental model defs
* align interfaces of halo, bottleneck attn and lambda layer
* add qk_ratio to all of above, control q/k dim relative to output dim
* add experimental haloregnetz, and trionet (lambda + halo + bottle) models
2021-10-06 16:32:48 -07:00
Alexander Soare 431e60c83f Add acknowledgements for freeze_batch_norm inspiration 2021-10-06 14:28:49 +01:00
Ross Wightman fbf59c04ee Change crop ratio on correct resnet50 variant. 2021-10-04 22:31:08 -07:00
Ross Wightman ae1ff5792f Clean a1/a2/3 rsb _0 checkpoints properly, fix v2 loading. 2021-10-04 16:46:00 -07:00
Ross Wightman 93901e992f Version bump to 0.5.0 for pending release post RSB and ATTN updates 2021-10-03 17:34:57 -07:00
Ross Wightman da0d39bedd Update default crop_pct for byoanet 2021-10-03 17:33:16 -07:00
Ross Wightman cc9bedf373 Add initial ResNet Strikes Back weights for ResNet50 and ResNetV2-50 models 2021-10-03 17:32:02 -07:00
Ross Wightman 64495505b7 Add updated lambda resnet26 and botnet26 checkpoints with fixes applied 2021-10-03 17:31:39 -07:00
Ross Wightman b2094f4ee8 support bits checkpoints in avg/load 2021-10-03 17:31:22 -07:00
Ross Wightman 007bc39323 Some halo and bottleneck attn code cleanup, add halonet50ts weights, use optimal crop ratios 2021-10-02 15:51:42 -07:00
Alexander Soare 65c3d78b96 Freeze unfreeze functionality finalized. Tests added 2021-10-02 15:55:08 +01:00
Alexander Soare 0cb8ea432c wip 2021-10-02 15:55:08 +01:00
Ross Wightman b1c2e3eb92 Match rel_pos_indices attr rename in conv branch 2021-09-30 23:19:05 -07:00
Ross Wightman b49630a138 Add relative pos embed option to LambdaLayer, fix last transpose/reshape. 2021-09-30 22:45:09 -07:00
Ross Wightman d657e2cc0b Remove dead code line from efficientnet 2021-09-30 21:54:42 -07:00
Ross Wightman 0ca687f224 Make 'regnetz' model experiments closer to actual RegNetZ, bottleneck expansion, expand from in_chs, no shortcut on stride 2, tweak model sizes 2021-09-30 21:49:38 -07:00
leondgarse 51eaf9360d
Remove a duplicate layer creation in byobnet.py
`self.conv2_kxk` is repeated in `byobnet.py`. Remove the duplicate code.
2021-09-30 18:30:48 +08:00
Ross Wightman b81e79aae9 Fix bottleneck attn transpose typo, hopefully these train better now.. 2021-09-28 16:38:41 -07:00
Ross Wightman 80075b0b8a Add worker_seeding arg to allow selecting old vs updated data loader worker seed for (old) experiment repeatability 2021-09-28 16:37:45 -07:00
Ross Wightman 6478bcd02c Fix regnetz_d conv layer name, use inception mean/std 2021-09-26 14:54:17 -07:00
Ross Wightman 0387e6057e Update binary cross ent impl to use thresholding as an option (convert soft targets from mixup/cutmix to 0, 1) 2021-09-23 15:45:39 -07:00
Ross Wightman f8a63a3b71 Add worker_init_fn to loader for numpy seed per worker 2021-09-23 15:44:38 -07:00
Ross Wightman 515121cca1 Use reshape instead of view in std_conv, causing issues in recent PyTorch in channels_last 2021-09-23 15:43:48 -07:00
Ross Wightman da06cc61d4 ResNetV2 seems to work best without zero_init residual 2021-09-23 15:43:22 -07:00
Ross Wightman 8e11da0ce3 Add experimental RegNetZ(ish) models for training / perf trials. 2021-09-23 15:42:57 -07:00
Alexander Soare 6bbc50beb4 make it possible to provide norm_layer via create_model 2021-09-21 10:19:04 +01:00
nateraw adcb74f87f 🎨 Import load_state_dict_from_url directly 2021-09-14 01:11:40 -04:00
nateraw e65a2cba3d 🎨 cleanup and add a couple comments 2021-09-14 01:07:04 -04:00
nateraw 2b6ade24b3 🎨 write model card to enable inference 2021-09-13 23:31:28 -04:00
Ross Wightman cf5ac2800c BotNet models were still off, remove weights for bad configs. Add good SE-HaloNet33-TS weights. 2021-09-13 17:18:59 -07:00
Ross Wightman 24720abe3b Merge branch 'master' into attn_update 2021-09-13 16:51:10 -07:00
Ross Wightman 1c9284c640 Add BeiT 'finetuned' 1k weights and pretrained 22k weights, pretraining specific (masked) model excluded for now 2021-09-13 16:38:23 -07:00
Ross Wightman f8a215cfe6 A few more crossvit tweaks, fix training w/ no_weight_decay names, add crop option for scaling, adjust default crop_pct for large img size to 1.0 for better results 2021-09-13 14:17:34 -07:00
Ross Wightman 7ab2491ab7 Better handling of crossvit for tests / forward_features, fix torchscript regression in my changes 2021-09-13 13:01:05 -07:00
Ross Wightman f1808e0970 Post crossvit merge cleanup, change model names to reflect input size, cleanup img size vs scale handling, fix tests 2021-09-13 11:49:54 -07:00
Ross Wightman 4027412757 Add resnet33ts weights, update resnext26ts baseline weights 2021-09-09 14:46:41 -07:00
Richard Chen 9fe5798bee fix bug for reset classifier and fix for validating the dimension 2021-09-08 21:58:17 -04:00
Richard Chen 3718c5a5bd fix loading pretrained model 2021-09-08 11:53:05 -04:00
Richard Chen bb50b69a57 fix for torch script 2021-09-08 11:20:59 -04:00
nateraw abf9d51bc3 🚧 wip 2021-09-07 18:39:26 -06:00
Ross Wightman 5bd04714e4 Cleanup weight init for byob/byoanet and related 2021-09-05 15:34:05 -07:00
Ross Wightman 8642401e88 Swap botnet 26/50 weights/models after realizing a mistake in arch def, now figuring out why they were so low... 2021-09-05 15:17:19 -07:00
Ross Wightman 5f12de4875 Add initial AttentionPool2d that's being trialed. Fix comment and still trying to improve reliability of sgd test. 2021-09-05 12:41:14 -07:00
Ross Wightman 76881d207b Add baseline resnet26t @ 256x256 weights. Add 33ts variant of halonet with at least one halo in stage 2,3,4 2021-09-04 14:52:54 -07:00
Ross Wightman 484e61648d Adding the attn series weights, tweaking model names, comments... 2021-09-03 18:09:42 -07:00
Ross Wightman fb94350896 Update training script and loader factory to allow use of scheduler updates, repeat augment, and bce loss 2021-09-01 17:46:40 -07:00
Ross Wightman f262137ff2 Add RepeatAugSampler as per DeiT RASampler impl, showing promise for current (distributed) training experiments. 2021-09-01 17:40:53 -07:00
Ross Wightman ba9c1108a1 Add a BCE loss impl that converts dense targets to sparse /w smoothing as an alternate to CE w/ smoothing. For training experiments. 2021-09-01 17:39:28 -07:00
Ross Wightman 29a37e23ee LR scheduler update:
* add polynomial decay 'poly'
* cleanup cycle specific args for cosine, poly, and tanh sched, t_mul -> cycle_mul, decay -> cycle_decay, default cycle_limit to 1 in each opt
* add k-decay for cosine and poly sched as per https://arxiv.org/abs/2004.05909
* change default tanh ub/lb to push inflection to later epochs
2021-09-01 17:33:11 -07:00
nateraw 28d2841acf 💄 apply isort 2021-09-01 18:15:08 -06:00
Ross Wightman 492c0a4e20 Update HaloAttn comment 2021-09-01 17:14:31 -07:00
nateraw e72c989973 add ability to push to hf hub 2021-09-01 18:14:28 -06:00
Richard Chen 7ab9d4555c add crossvit 2021-09-01 17:13:12 -04:00
Ross Wightman 3b9032ea48 Use Tensor.unfold().unfold() for HaloAttn, fast like as_strided but more clarity 2021-08-27 12:45:53 -07:00
Ross Wightman 78933122c9 Fix silly typo 2021-08-27 09:22:20 -07:00
Ross Wightman 2568ffc5ef Merge branch 'master' into attn_update 2021-08-27 09:21:22 -07:00
Ross Wightman 708d87a813 Fix ViT SAM weight compat as weights at URL changed to not use repr layer. Fix #825. Tweak optim test. 2021-08-27 09:20:13 -07:00
Ross Wightman 8449ba210c Improve performance of HaloAttn, change default dim calc. Some cleanup / fixes for byoanet. Rename resnet26ts to tfs to distinguish (extra fc). 2021-08-26 21:56:44 -07:00
Ross Wightman a8b65695f1 Add resnet26ts and resnext26ts models for non-attn baselines 2021-08-21 12:42:10 -07:00
Ross Wightman a5a542f17d Fix typo 2021-08-20 17:47:23 -07:00
Ross Wightman 925e102982 Update attention / self-attn based models from a series of experiments:
* remove dud attention, involution + my swin attention adaptation don't seem worth keeping
* add or update several new 26/50 layer ResNe(X)t variants that were used in experiments
* remove models associated with dead-end or uninteresting experiment results
* weights coming soon...
2021-08-20 16:13:11 -07:00
Ross Wightman d667351eac Tweak accuracy topk safety. Fix #807 2021-08-19 14:18:53 -07:00
Yohann Lereclus 35c9740826 Fix accuracy when topk > num_classes 2021-08-19 11:58:59 +02:00
Ross Wightman a16a753852 Add lamb/lars to optim init imports, remove stray comment 2021-08-18 22:55:02 -07:00
Ross Wightman c207e02782 MOAR optimizer changes. Woo! 2021-08-18 22:20:35 -07:00
Ross Wightman a426511c95 More optimizer cleanup. Change all to no longer use .data. Improve (b)float16 use with adabelief. Add XLA compatible Lars. 2021-08-18 17:21:56 -07:00
Ross Wightman 9541f4963b One more scalar -> tensor fix for lamb optimizer 2021-08-18 11:20:25 -07:00
Ross Wightman 8f68193c91
Update lamp.py comment 2021-08-18 09:27:40 -07:00
Ross Wightman 4d284017b8
Merge pull request #813 from rwightman/opt_cleanup
Optimizer cleanup and additions
2021-08-18 09:12:00 -07:00
Ross Wightman a6af48be64 add madgradw optimizer 2021-08-17 22:19:27 -07:00
Ross Wightman 55fb5eedf6 Remove experiment from lamb impl 2021-08-17 21:48:26 -07:00
Ross Wightman 8a9eca5157 A few optimizer comments, dead import, missing import 2021-08-17 18:01:33 -07:00
Ross Wightman ac469b50da Optimizer improvements, additions, cleanup
* Add MADGRAD code
* Fix Lamb (non-fused variant) to work w/ PyTorch XLA
* Tweak optimizer factory args (lr/learning_rate and opt/optimizer_name), may break compat
* Use newer fn signatures for all add,addcdiv, addcmul in optimizers
* Use upcoming PyTorch native Nadam if it's available
* Cleanup lookahead opt
* Add optimizer tests
* Remove novograd.py impl as it was messy, keep nvnovograd
* Make AdamP/SGDP work in channels_last layout
* Add rectified adablief mode (radabelief)
* Support a few more PyTorch optim, adamax, adagrad
2021-08-17 17:51:20 -07:00
Sepehr Sameni abf3e044bb
Update scheduler_factory.py
remove duplicate code from create_scheduler()
2021-08-14 22:53:17 +02:00
Ross Wightman 3cdaf5ed56 Add `mmax` config key to auto_augment for increasing upper bound of RandAugment magnitude beyond 10. Make AugMix uniform sampling default not override config setting. 2021-08-12 15:39:05 -07:00
Ross Wightman 1042b8a146 Add non fused LAMB optimizer option 2021-08-09 13:13:43 -07:00
Ross Wightman 01cb46a9a5 Add gc_efficientnetv2_rw_t weights (global context instead of SE attn). Add TF XL weights even though the fine-tuned ones don't validate that well. Change default arg for GlobalContext to use scal (mul) mode. 2021-08-07 16:45:29 -07:00
Ross Wightman d3f7440650 Add EfficientNetV2 XL model defs 2021-07-22 13:15:24 -07:00
Ross Wightman 72b227dcf5
Merge pull request #750 from drjinying/master
Specify "interpolation" mode in vision_transformer's resize_pos_embed
2021-07-13 11:01:20 -07:00
Ross Wightman 2907c1f967
Merge pull request #746 from samarth4149/master
Adding a Multi Step LR Scheduler
2021-07-13 10:55:54 -07:00
Ross Wightman 748ab852ca Allow act_layer switch for xcit, fix in_chans for some variants 2021-07-12 13:27:29 -07:00
Ying Jin 20b2d4b69d Use bicubic interpolation in resize_pos_embed() 2021-07-12 10:38:31 -07:00
Ross Wightman d3255adf8e Merge branch 'xcit' of https://github.com/alexander-soare/pytorch-image-models into alexander-soare-xcit 2021-07-12 08:30:30 -07:00
Ross Wightman f8039c7492 Fix gc effv2 model cfg name 2021-07-11 12:14:31 -07:00
Alexander Soare 3a55a30ed1 add notes from author 2021-07-11 14:25:58 +01:00
Alexander Soare 899cf84ccc bug fix - missing _dist postfix for many of the 224_dist models 2021-07-11 12:41:51 +01:00
Alexander Soare 623e8b8eb8 wip xcit 2021-07-11 09:39:38 +01:00
Ross Wightman 392368e210 Add efficientnetv2_rw_t defs w/ weights, and gc variant, as well as gcresnet26ts for experiments. Version 0.4.13 2021-07-09 16:46:52 -07:00
samarth daab57a6d9 1. Added a simple multi step LR scheduler 2021-07-09 16:18:27 -04:00
Ross Wightman 6d8272e92c Add SAM pretrained model defs/weights for ViT B16 and B32 models. 2021-07-08 11:51:12 -07:00
Ross Wightman ee4d8fc69a Remove unecessary line from nest post refactor 2021-07-05 21:22:46 -07:00
Ross Wightman 8165cacd82 Realized LayerNorm2d won't work in all cases as is, fixed. 2021-07-05 18:21:34 -07:00
Ross Wightman 81cd6863c8 Move aggregation (convpool) for nest into NestLevel, cleanup and enable features_only use. Finalize weight url. 2021-07-05 18:20:49 -07:00
Ross Wightman 6ae0ac6420 Merge branch 'nested_transformer' of https://github.com/alexander-soare/pytorch-image-models into alexander-soare-nested_transformer 2021-07-03 12:45:26 -07:00
Alexander Soare 7b8a0017f1 wip to review 2021-07-03 12:10:12 +01:00
Alexander Soare b11d949a06 wip checkpoint with some feature extraction work 2021-07-03 11:45:19 +01:00
Alexander Soare 23bb72ce5e nested_transformer wip 2021-07-02 20:12:29 +01:00
Ross Wightman 766b4d3262 Fix features for resnetv2_50t 2021-06-28 15:56:24 -07:00
Ross Wightman e8045e712f Fix BatchNorm for ResNetV2 non GN models, add more ResNetV2 model defs for future experimentation, fix zero_init of last residual for pre-act. 2021-06-28 10:52:45 -07:00
Ross Wightman 20a2be14c3 Add gMLP-S weights, 79.6 top-1 2021-06-23 10:40:30 -07:00
Ross Wightman 85f894e03d Fix ViT in21k representation (pre_logits) layer handling across old and new npz checkpoints 2021-06-23 10:38:34 -07:00
Ross Wightman b41cffaa93 Fix a few issues loading pretrained vit/bit npz weights w/ num_classes=0 __init__ arg. Missed a few other small classifier handling detail on Mlp, GhostNet, Levit. Should fix #713 2021-06-22 23:16:05 -07:00
Ross Wightman 9c9755a808 AugReg release 2021-06-20 17:46:06 -07:00
Ross Wightman 381b279785 Add hybrid model fwds back 2021-06-19 22:28:44 -07:00
Ross Wightman 26f04a8e3e Fix a weight link 2021-06-19 16:39:36 -07:00
Ross Wightman 8f4a0222ed Add GMixer-24 MLP model weights, trained w/ TPU + PyTorch XLA 2021-06-18 16:49:28 -07:00
Ross Wightman 4c09a2f169 Bump version 0.4.12 2021-06-18 16:17:34 -07:00
Ross Wightman b319eb5b5d Update ViT weights, more details to be added before merge. 2021-06-18 16:16:49 -07:00
Ross Wightman 8257b86550 Fix up resnetv2 bit/bitm model default res 2021-06-18 16:16:06 -07:00
Ross Wightman 1228f5a3d8 Add BiT distilled 50x1 and teacher 152x2 models from 'A good teacher is patient and consistent' paper. 2021-06-18 11:40:33 -07:00
Ross Wightman 511a8e8c96 Add official ResMLP weights. 2021-06-14 17:03:16 -07:00
Ross Wightman b9cfb64412 Support npz custom load for vision transformer hybrid models. Add posembed rescale for npz load. 2021-06-14 12:31:44 -07:00
Ross Wightman 8319e0c373 Add file docstring to std_conv.py 2021-06-13 12:31:06 -07:00
Ross Wightman 4d96165989 Merge branch 'master' into cleanup_xla_model_fixes 2021-06-12 23:19:25 -07:00
Ross Wightman 8880f696b6 Refactoring, cleanup, improved test coverage.
* Add eca_nfnet_l2 weights, 84.7 @ 384x384
* All 'non-std' (ie transformer / mlp) models have classifier / default_cfg test added
* Fix #694 reset_classifer / num_features / forward_features / num_classes=0 consistency for transformer / mlp models
* Add direct loading of npz to vision transformer (pure transformer so far, hybrid to come)
* Rename vit_deit* to deit_*
* Remove some deprecated vit hybrid model defs
* Clean up classifier flatten for conv classifiers and unusual cases (mobilenetv3/ghostnet)
* Remove explicit model fns for levit conv, just pass in arg
2021-06-12 16:40:02 -07:00
Ross Wightman ba2ca4b464 One codepath for stdconv, switch layernorm to batchnorm so gain included. Tweak epsilon values for nfnet, resnetv2, vit hybrid. 2021-06-12 12:27:43 -07:00
Ross Wightman b7a568f065 Fix torchscript issue in bat 2021-06-08 23:19:51 -07:00
Ross Wightman d17b374f0f Minimum input_size needed to be higher 2021-06-08 21:31:39 -07:00
Ross Wightman b3b90d944d Add min_input_size to bat_resnext to prevent test breakage. 2021-06-08 17:32:08 -07:00
Ross Wightman d413eef1bf Add ResMLP-24 model weights that I trained in PyTorch XLA on TPU-VM. 79.2 top-1. 2021-06-08 14:22:05 -07:00
Ross Wightman 10d8fa4620 Add gc and bat attention resnext26ts variants to byob for test. 2021-06-08 14:21:07 -07:00
Ross Wightman 2f5ed2dec1 Update `init_values` const for 24 and 36 layer ResMLP models 2021-06-07 17:15:04 -07:00
Ross Wightman 8e4ac3549f All ScaledStdConv and StdConv uses default to using F.layernorm so that they work with PyTorch XLA. eps value tweaking is a WIP. 2021-06-07 17:14:19 -07:00
Ross Wightman 2a63d0246b Post merge cleanup 2021-06-07 14:38:30 -07:00
Ross Wightman 45dec179e5
Merge pull request #681 from lmk123568/master
Update convit.py
2021-06-07 14:10:53 -07:00
Dongyoon Han ded1671483 Fix stochastic depth working only with a shortcut 2021-06-07 23:08:55 +09:00
Mike b87d98b238
Update convit.py
Cut out the duplicates
2021-06-06 17:58:31 +08:00
Ross Wightman 02320c3e3d Bump version to 0.4.11 2021-05-31 15:41:51 -07:00
Ross Wightman bda8ab015a Remove min channels for SelectiveKernel, divisor should cover cases well enough. 2021-05-31 15:38:56 -07:00
Ross Wightman a27f4aec4a Missed args for skresnext w/ refactoring. 2021-05-31 14:06:34 -07:00
Ross Wightman 307a935b79 Add non-local and BAT attention. Merge attn and self-attn factories into one. Add attention references to README. Add mlp 'mode' to ECA. 2021-05-31 13:18:11 -07:00
Ross Wightman 8bf63b6c6c Able to use other attn layer in EfficientNet now. Create test ECA + GC B0 configs. Make ECA more configurable. 2021-05-30 12:47:02 -07:00
Ross Wightman bcec14d3b5 Bring EfficientNet SE layer in line with others, pull se_ratio outside of blocks. Allows swapping w/ other attn layers. 2021-05-29 23:41:38 -07:00
Ross Wightman 9611458e19 Throw in some FBNetV3 code I had lying around, some refactoring of SE reduction channel calcs for all EffNet archs. 2021-05-28 20:47:24 -07:00
Ross Wightman 01b9108619 Merge branch 'master' into more_attn 2021-05-28 11:09:37 -07:00
Ross Wightman d7bab8a6c5 Fix strict flag change for checkpoint load. 2021-05-28 09:54:50 -07:00
Ross Wightman 02f9d4bc34 Add weights for resnet51q model, add 61q def. 2021-05-28 09:53:16 -07:00
Ross Wightman f615474be3 Fix broken test, repvgg block doesn't have attn_last attr. 2021-05-27 18:12:22 -07:00
Ross Wightman 742c2d5247 Add Gather-Excite and Global Context attn modules. Refactor existing SE-like attn for consistency and refactor byob/byoanet for less redundancy. 2021-05-27 18:03:29 -07:00
Ross Wightman 9c78de8c02 Fix #661, move hardswish out of default args for LeViT. Enable native torch support for hardswish, hardsigmoid, mish if present. 2021-05-26 15:28:42 -07:00
Ross Wightman 5db7452173 Fix visformer in_chans stem handling 2021-05-25 14:11:36 -07:00
Ross Wightman 318360c3f9 Update README.md before merge. Bump version to 0.4.10 2021-05-25 12:26:16 -07:00
Ross Wightman 11ae795e99 Redo LeViT attention bias caching in a way that works with both torchscript and DataParallel 2021-05-25 10:15:32 -07:00
Ross Wightman d400f1dbdd Filter test models before creation for backward/torchscript tests 2021-05-25 10:14:45 -07:00
Ross Wightman c4572cc5aa Add Visformer-small weighs, tweak torchscript jit test img size. 2021-05-24 22:50:12 -07:00
Ross Wightman bfc72f75d3 Expand scope of testing for non-std vision transformer / mlp models. Some related cleanup and create fn cleanup for all vision transformer and mlp models. More CoaT weights. 2021-05-24 21:13:26 -07:00
Ross Wightman 18bf520ad1 Add eca_nfnet_l2/l3 defs for future training 2021-05-22 21:55:37 -07:00
Ross Wightman f45de37690 Merge branch 'master' into levit_visformer_rednet 2021-05-22 16:34:31 -07:00
Ross Wightman 23c18a33e4 Add efficientnetv2_rw_m weights trained in PyTorch. 84.8 top-1 @ 416 test. 53M params. 2021-05-21 21:16:25 -07:00
Ross Wightman c2ba229d99 Prep for effcientnetv2_rw_m model weights that started training before official release.. 2021-05-21 17:47:49 -07:00
Ross Wightman 30b9880d06 Minor adjustment, mutable default arg, extra check of valid len... 2021-05-21 17:20:51 -07:00
Ross Wightman be0abfbcce Merge branch 'master' of https://github.com/alexander-soare/pytorch-image-models into alexander-soare-master 2021-05-21 17:10:11 -07:00