172 Commits

Author SHA1 Message Date
Ryan
bda46f8e6f Add num_classes assertion after reset_classifier 2025-01-21 11:52:05 -08:00
Ross Wightman
cc7fd34015 test filter tweaks 2024-12-30 19:24:21 -08:00
Ross Wightman
1bf84b35c3 Update tests for aimv2 filtering 2024-12-30 19:24:21 -08:00
Ross Wightman
0903d98162 Reduce tolerance on model inference 'owl' test, pillow output varies a lot, was failing locally 2024-11-26 15:10:15 -08:00
Ross Wightman
95907e69c2 Further reduce atol for model comparison, move python 3.11 + torch 2.2 -> python 3.12 + torch 2.4.1 2024-10-02 10:05:27 -07:00
Ross Wightman
fde6719403 relax tolerance on inference test 2024-10-02 09:53:17 -07:00
Ross Wightman
0e27f302a0 Do full inference test against test vectors for test_* models 2024-10-02 09:39:26 -07:00
Ross Wightman
0b05122cda Fixing hieradet (sam2) tests 2024-08-16 14:33:40 -07:00
Ross Wightman
f920119f3b Fixing tests 2024-07-09 14:53:20 -07:00
Daniel Suess
197c10463b Fix jit.script breaking with features_fx 2024-06-28 03:58:51 +00:00
Ross Wightman
a5a2ad2e48 Fix consistency, testing for forward_head w/ pre_logits, reset_classifier, models with pre_logits size != unpooled feature size
* add test that model supports forward_head(x, pre_logits=True)
* add head_hidden_size attr to all models and set differently from num_features attr when head has hidden layers
* test forward_features() feat dim == model.num_features and pre_logits feat dim == self.head_hidden_size
* more consistency in reset_classifier signature, add typing
* asserts in some heads where pooling cannot be disabled
Fix #2194
2024-06-07 13:53:00 -07:00
Ross Wightman
5756a81c55 Merge remote-tracking branch 'origin/Beckschen-vitamin' into fastvit_mobileclip 2024-06-05 15:20:54 -07:00
Ross Wightman
0e77c95ed7 Add vitamin to non-std testing models 2024-06-05 00:20:00 -07:00
Ross Wightman
ce637771dc Add fastvit to forward_intermediates test 2024-05-30 10:18:24 -07:00
Ross Wightman
2ca45a4ff5 Merge remote-tracking branch 'upstream/main' into hiera 2024-05-11 15:43:05 -07:00
Ross Wightman
45b7ae8029 forward_intermediates() support for byob/byoanet models 2024-05-04 14:06:52 -07:00
Ross Wightman
c719f7eb86 More forward_intermediates() updates
* add convnext, resnet, efficientformer, levit support
* remove kwargs only for fn so that torchscript isn't broken for all :(
* use reset_classifier() consistently in prune
2024-05-03 16:22:32 -07:00
Ross Wightman
d6da4fb01e Add forward_intermediates() to efficientnet / mobilenetv3 based models as an exercise. 2024-05-02 14:19:16 -07:00
Ross Wightman
67332fce24 Add features_intermediate() support to coatnet, maxvit, swin* models. Refine feature interface. Start prep of new vit weights. 2024-04-30 16:56:33 -07:00
Ross Wightman
63970e4e61 Update tests for volo/cait/xcit forward_intermediates 2024-04-29 17:19:11 -07:00
Ross Wightman
e8b08a4e7b Disable jit test for Hiera, fair bit of work to fix. 2024-04-22 10:39:30 -07:00
Ross Wightman
ef147fd2fb Add forward_intermediates API to Hiera for features_only=True support 2024-04-21 11:30:41 -07:00
Ross Wightman
fe3cf542fa Fix / improve tests for features 2024-04-10 21:14:02 -07:00
Ross Wightman
4b2565e4cb More forward_intermediates() / FeatureGetterNet work
* include relpos vit
* refactor reduction / size calcs so hybrid vits work and dynamic_img_size works
* fix -ve feature indices when pruning
* fix mvitv2 w/ class token
* refine naming
* add tests
2024-04-10 15:11:34 -07:00
Alex Cunha
e628ed7e67 device agnostic testing 2023-11-16 20:27:59 -08:00
方曦
0198a2019e tinyvit skip ci test 2023-09-01 11:05:56 -07:00
Ross Wightman
7c2728c6fe
Merge pull request #1919 from ChengpengChen/main
Add RepGhost models and weights
2023-08-19 16:26:45 -07:00
方曦
00f670fa69 fix bug in ci for efficientvits 2023-08-17 14:40:17 +08:00
Chengpeng Chen
d1d0193615 Add RepGhost models and weights 2023-08-16 11:54:53 +08:00
方曦
15de561f2c fix unit test for samvit 2023-05-17 12:51:12 +08:00
Ross Wightman
3386af8c86 Final push to get remaining models using multi-weight pretrained configs, almost all weights on HF hub 2023-04-26 15:52:13 -07:00
Ross Wightman
067c7281e2 Another test filter adjustment 2023-03-31 08:33:26 -07:00
Ross Wightman
3825812f1a Update test filtering for enormoous 2023-03-31 00:04:56 -07:00
Ross Wightman
a84abe6656 Add eva02 to non-std test models 2023-03-27 22:56:52 -07:00
Ross Wightman
b3e816d6d7 Improve filtering behaviour for tag + non-tagged model wildcard consistency. 2023-03-22 10:21:22 -07:00
Ross Wightman
2fc5ac3d18 Exclude the large models from default_cfgs, failing github CI 2023-03-16 14:51:20 -07:00
Ross Wightman
acfd85ad68 All swin models support spatial output, add output_fmt to v1/v2 and use ClassifierHead.
* update ClassifierHead to allow different input format
* add output format support to patch embed
* fix some flatten issues for a few conv head models
* add Format enum and helpers for tensor format (layout) choices
2023-03-15 23:21:51 -07:00
Benjamin Bossan
10627bbd49
CI: Split CI tests to run them in parallel (#1691)
* Split CI tests to run them in parallel

The idea of this PR is to split tests into multiple sets that can be run
in parallel by GH. For this, all tests in test_models.py that would run
on GH get a pytest marker. The GH workflow matrix is factorized to run
only a single marker. That way, only a subset of tests should run per
worker, leading to quicker results.

There is also a worker that runs all the tests that are not inside
test_models.py.

* [skip ci] empty commit to abort ci

* Fix typo in marker name

* Split fx into forward and backward

* Comment out test coverage for now

Checking if it's responsible for regression in CI runtime.

* Remove pytest cov completely from requirements

* Remove cov call in pyproject.toml

Missed that one.
2023-02-24 12:28:57 -08:00
Ross Wightman
9a53c3f727 Finalize DaViT, some formatting and modelling simplifications (separate PatchEmbed to Stem + Downsample, weights on HF hub. 2023-01-27 13:54:04 -08:00
Fredo Guan
fb717056da Merge remote-tracking branch 'upstream/main' 2023-01-26 10:49:15 -08:00
Ross Wightman
9983ed7721 xlarge maxvit killing the tests 2023-01-20 16:16:20 -08:00
Ross Wightman
bed350f5e5 Push all MaxxViT weights to HF hub, cleanup impl, add feature map extraction support and prompote to 'std' architecture. Fix norm head for proper embedding / feat map output. Add new in12k + ft 1k weights. 2023-01-20 14:45:25 -08:00
Fredo Guan
e58a884c1c Merge remote-tracking branch 'upstream/main' 2023-01-15 14:37:52 -08:00
Fredo Guan
81ca323751
Davit update formatting and fix grad checkpointing (#7)
fixed head to gap->norm->fc as per convnext, along with option for norm->gap->fc
failed tests due to clip convnext models, davit tests passed
2023-01-15 14:34:56 -08:00
Ross Wightman
6e5553da5f
Add ConvNeXt-V2 support (model additions and weights) (#1614)
* Add ConvNeXt-V2 support (model additions and weights)

* ConvNeXt-V2 weights on HF Hub, tweaking some tests

* Update README, fixing convnextv2 tests
2023-01-05 07:53:32 -08:00
Ross Wightman
35fb00c779 Add flexivit to non-std tests list 2022-12-22 21:32:31 -08:00
Fredo Guan
84178fca60
Merge branch 'rwightman:main' into main 2022-12-12 23:13:58 -08:00
Fredo Guan
c43340ddd4
Davit std (#5)
* Update davit.py

* Update test_models.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* starting point

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update test_models.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Davit revised (#4)

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

clean up

* Update test_models.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update davit.py

* Update test_models.py

* Update davit.py
2022-12-11 03:03:22 -08:00
Ross Wightman
d5e7d6b27e Merge remote-tracking branch 'origin/main' into refactor-imports 2022-12-09 14:49:44 -08:00
Fredo Guan
edea013dd1
Davit std (#3)
Davit with all features working
2022-12-09 02:53:21 -08:00