Commit Graph

1930 Commits (150356c4938825ddfa0bbfc5149680348773113e)
 

Author SHA1 Message Date
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
Ross Wightman 47f1de9bec Version bump 2023-02-20 10:17:10 -08:00
Ross Wightman 11f7b589e5 Update setup.py for huggingface changes. 2023-02-20 10:17:10 -08:00
Ross Wightman 4d9c3ae2fb Add laion2b 320x320 ConvNeXt-Large CLIP weights 2023-02-18 16:34:03 -08:00
Ross Wightman d0b45c9b4d Make safetensor import option for now. Improve avg/clean checkpoints ext handling a bit (more consistent). 2023-02-18 16:06:42 -08:00
Ross Wightman 947c1d757a Merge branch 'main' into focalnet_and_swin_refactor 2023-02-17 16:28:52 -08:00
Ross Wightman cf324ea38f Fix grad checkpointing in focalnet 2023-02-17 16:26:26 -08:00
Ross Wightman 848d200767 Overhaul FocalNet implementation 2023-02-17 16:24:59 -08:00
Ross Wightman 7266c5c716 Merge branch 'main' into focalnet_and_swin_refactor 2023-02-17 09:20:14 -08:00
Ross Wightman 7d9e321b76 Improve tracing of window attn models with simpler reshape logic 2023-02-17 07:59:06 -08:00
Ross Wightman a3c6685e20
Delete requirements-modelindex.txt 2023-02-17 00:03:58 -08:00
Ross Wightman 022403ce0a Update README 2023-02-16 17:20:27 -08:00
Ross Wightman 2e38d53dca Remove dead line 2023-02-16 16:57:42 -08:00
Ross Wightman f77c04ff36 Torchscript fixes/hacks for rms_norm, refactor ParallelScalingBlock with manual combination of input projections, closer paper match 2023-02-16 16:57:42 -08:00
Ross Wightman 122621daef Add Final annotation to attn_fas to avoid symbol lookup of new scaled_dot_product_attn fn on old PyTorch in jit 2023-02-16 16:57:42 -08:00
Ross Wightman 621e1b2182 Add ideas from 'Scaling ViT to 22-B Params', testing PyTorch 2.0 fused F.scaled_dot_product_attention impl in vit, vit_relpos, maxxvit / coatnet. 2023-02-16 16:57:42 -08:00
Ross Wightman a3d528524a Version 0.8.12dev0 2023-02-16 16:27:29 -08:00
testbot a09d403c24 changed warning to info 2023-02-16 16:20:31 -08:00
testbot 8470e29541 Add support to load safetensors weights 2023-02-16 16:20:31 -08:00
Ross Wightman f35d6ea57b Add multi-tensor (foreach) version of Lion in style of upcoming PyTorch 2.0 optimizers 2023-02-16 15:48:00 -08:00
Ross Wightman 709d5e0d9d Add Lion optimizer 2023-02-14 23:55:05 -08:00
Ross Wightman 624266148d Remove unused imports from _hub helpers 2023-02-09 17:47:26 -08:00