Commit Graph

1848 Commits (9ee846ff0cbbc05a99b45140aa6d84083bcf6488)
 

Author SHA1 Message Date
Ross Wightman 2362f79062
Merge pull request #1748 from huggingface/mw-deit
Multi-weight and HF hub for deit / deit3
2023-03-28 07:54:58 -07:00
Ross Wightman a84abe6656 Add eva02 to non-std test models 2023-03-27 22:56:52 -07:00
Ross Wightman e9f427b953 Add hf hub entries for mlp_mixer 2023-03-27 22:50:43 -07:00
Ross Wightman cff81deb78 multi-weight and hf hub for deit / deit3 2023-03-27 22:47:16 -07:00
Ross Wightman 3863d63516 Adding EVA02 weights and model defs, move beit based eva_giant to same eva.py file. Cleanup rotary pos, add lang oriented freq bands to be compat with eva design choice. Fix #1738 2023-03-27 17:16:07 -07:00
Ross Wightman b12060996c MLP-Mixer multi-weight support, hf hub push 2023-03-27 16:42:13 -07:00
Ross Wightman 56b90317cd Change torchrun args to use _ instead of -, - is the new format, but looks like _ still works for backward compat with old versions. Fix #1742 2023-03-26 20:23:55 -07:00
Ross Wightman d196fa536d Fix last min torchscript regression in nfnet changes 2023-03-24 00:10:17 -07:00
Ross Wightman 33ada0cbca Add group_matcher to focalnet for proper layer-wise LR decay 2023-03-23 23:21:49 -07:00
Ross Wightman b271dc0e16 NFNet multi-weight support + HF hub push 2023-03-23 23:20:38 -07:00
Ross Wightman a089bfba2d Version 0.8.17dev0 2023-03-22 15:40:23 -07:00
Ross Wightman 9e327c9932 Update README 2023-03-22 15:40:10 -07:00
Ross Wightman dbd33e4b62 Update crop settings for new rexnet weights 2023-03-22 15:39:49 -07:00
Ross Wightman da6bdd4560 Update resnetv2.py for multi-weight and HF hub weights 2023-03-22 15:38:04 -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 7aba64ebdb Add update byobnet.py w/ models pushed to HF hub 2023-03-22 10:00:00 -07:00
Ross Wightman e7ef8335bf regnet.py multi-weight conversion, new ImageNet-12k pretrain/ft from timm for y_120 and y_160, also new tv v2, swag, & seer weights for push to Hf hub. 2023-03-21 15:51:49 -07:00
Ross Wightman c78319adce Add ImageNet-12k ReXNet-R 200 & 300 weights, and push existing ReXNet models to HF hub. Dilation support added to rexnet 2023-03-20 13:48:17 -07:00
Ross Wightman 8db20dc240 Fix #1726, dropout not used in NormMlpClassifierHead. Make dropout more consistent across both classifier heads (nn.Dropout) 2023-03-20 09:37:05 -07:00
Ross Wightman 041de79f9e Fix numel use in helpers for checkpoint remap 2023-03-20 09:36:48 -07:00
Ross Wightman 2054f11c6f Switch to torchrun as old launcher changed arg names in 2.0.. Fix #1728 2023-03-20 08:15:40 -07:00
Ross Wightman 49b9c3be80 Include pretrained tag in deprecated mapping warning 2023-03-19 21:21:19 -07:00
Ross Wightman 0d5c5c39fc
Merge pull request #1628 from huggingface/focalnet_and_swin_refactor
Add FocalNet arch, refactor Swin V1/V2 for better feature extraction and HF hub multi-weight support
2023-03-18 20:09:36 -07:00
Ross Wightman fafac3317c Version 0.8.16dev0 2023-03-18 15:09:20 -07:00
Ross Wightman 3448cc689c Use gather (fancy indexing) for valid labels instead of bool mask in validate.py 2023-03-18 15:08:19 -07:00
Ross Wightman 9fcfb8bcc1 Add Microsoft FocalNet specific ('ms') ImageNet-22k classifier layout 2023-03-18 14:57:34 -07:00
Ross Wightman 572f05096a Swin and FocalNet weights on HF hub. Add model deprecation functionality w/ some registry tweaks. 2023-03-18 14:55:09 -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 5aebad3fbc return_map back to out_map for _feature helpers 2023-03-16 14:50:55 -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
Ross Wightman c30a160d3e Merge remote-tracking branch 'origin/main' into focalnet_and_swin_refactor 2023-03-15 15:58:39 -07:00
Ross Wightman cd3ee78387
Merge pull request #1715 from huggingface/convnext_shortcut
Add support to ConvNextBlock for downsample and ch expansion. Fix #1699
2023-03-13 15:27:03 -07:00
Ross Wightman ad94d737b7 Add support to ConvNextBlock for downsample and channel expansion to improve stand alone use. Fix #1699 2023-03-13 14:06:24 -07:00
Ross Wightman aa8c0708df
Merge pull request #1714 from SWHL/main
Fix typo
2023-03-11 13:29:14 -10:00
Ross Wightman 43e6143bef Fix #1712 broken support for AMP w/ PyTorch < 1.10. Disable loss scaler for bfloat16 2023-03-11 15:26:09 -08:00
Ross Wightman 3a636eee71 Fix #1713 missed assignement in 3-aug level fn, fix few other minor lint complaints in auto_augment.py 2023-03-11 14:32:23 -08:00
Ross Wightman 82cb47bcf3
Merge pull request #1708 from pkluska/chore/mvitv2-coreml-exportable
chore: Modify the MobileVitV2Block to be coreml exportable
2023-03-11 11:52:20 -10:00
SWHL 7c6523edd0
Fix typo 2023-03-09 10:42:54 +08:00
Piotr Sebastian Kluska 992bf7c3d4 chore: Modify the MobileVitV2Block to be coreml exportable
based on is_exportable() set variable controlling behaviour of the block
CoreMLTools support im2col from 6.2 version, unfortunately col2im
is still not supported.

Tested with exporting to ONNX, Torchscript, CoreML, and TVM.
2023-03-03 09:38:24 +01:00
Ross Wightman 4b8cfa6c0a Add convnext_xxlarge CLIP image tower weights, version 0.8.15dev0 2023-02-26 21:51:48 -08:00
Ross Wightman 80a0bb216c
Merge pull request #1696 from huggingface/convnext_xxlarge_eps
Add default norm_eps=1e-5 for convnext_xxlarge, improve kwarg merging for all convnext models
2023-02-26 13:39:20 -08:00
Ross Wightman f9b56a1bfa Version 0.8.14dev0 2023-02-26 13:38:51 -08:00
Ross Wightman 1c13ef7b46 Add default norm_eps=1e-5 for convnext_xxlarge, improve kwarg merging for all convnext models 2023-02-26 12:11:49 -08:00
Ross Wightman 450b74affb
Update README.md
Remove references to github.io docs that died with repo move
2023-02-24 14:43:31 -08: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
Benjamin Bossan cf6f6adf6e Add pytest-cov, requirements-dev, pyproject.toml
When tests finish, a report should be printed that shows the code
coverage of timm. This should give us a better idea where we should work
on test coverage.

I have tested this locally (on a subset of tests) and it worked.

Since the number of test dependencies was getting quite high, I created
a requirements-dev.txt and moved them there. GH action and
CONTRIBUTING.md are adjusted accordingly.

Furthermore, instead of extending the pytest invocation, I created a
pyproject.toml and added the coverage options there. For completeness, I
also added the black settings that come closest to the style of timm.
LMK if this is not desired.

For now, the coverage is only reported but not enforced. I.e. when a PR
is created that adds uncovered lines, CI will still succeed. We could
think about adding codecov or something like that, but it can be
annoying sometimes and the service was flaky for me in the past.
2023-02-23 15:09:41 -08:00
Benjamin Bossan a5b01ec04e Add type annotations to _registry.py
Description

Add type annotations to _registry.py so that they will pass mypy
--strict.

Comment

I was reading the code and felt that this module would be easier to
understand with type annotations. Therefore, I went ahead and added the
annotations.

The idea with this PR is to start small to see if we can align on _how_
to annotate types. I've seen people in the past disagree on how strictly
to annotate the code base, so before spending too much time on this, I
wanted to check if you agree, Ross.

Most of the added types should be straightforward. Some notes on the
non-trivial changes:

- I made no assumption about the fn passed to register_model, but maybe
  the type could be stricter. Are all models nn.Modules?
- If I'm not mistaken, the type hint for get_arch_name was incorrect
- I had to add a # type: ignore to model.__all__ = ...
- I made some minor code changes to list_models to facilitate the
  typing. I think the changes should not affect the logic of the function.
- I removed list from list(sorted(...)) because sorted returns always a
  list.
2023-02-22 09:19:30 -08:00
Benjamin Bossan c9406ce608
Some additions to the CONTRIBUTING guide (#1685)
* Some additions to the CONTRIBUTING guide

- how to run black if so desired
- install instructions for devs (following GH action)
- running tests
- minor fixups

If there is a guide on how to best add new models, it would be a good
idea to link it here, since I imagine this is what many contributors
would need most help with.

* [skip ci] empty commit to skip ci
2023-02-22 08:24:26 -08:00
Ross Wightman a32c4eff69
Create CONTRIBUTING.md 2023-02-20 17:13:10 -08:00
Ross Wightman a0772f03e0
Update README.md 2023-02-20 10:26:09 -08:00