Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update timm requirement #2274

Merged
merged 2 commits into from
Sep 24, 2024
Merged

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Aug 26, 2024

Updates the requirements on timm to permit the latest version.

Release notes

Sourced from timm's releases.

Release v1.0.9

Aug 21, 2024

  • Updated SBB ViT models trained on ImageNet-12k and fine-tuned on ImageNet-1k, challenging quite a number of much larger, slower models
model top1 top5 param_count img_size
vit_mediumd_patch16_reg4_gap_384.sbb2_e200_in12k_ft_in1k 87.438 98.256 64.11 384
vit_mediumd_patch16_reg4_gap_256.sbb2_e200_in12k_ft_in1k 86.608 97.934 64.11 256
vit_betwixt_patch16_reg4_gap_384.sbb2_e200_in12k_ft_in1k 86.594 98.02 60.4 384
vit_betwixt_patch16_reg4_gap_256.sbb2_e200_in12k_ft_in1k 85.734 97.61 60.4 256
  • MobileNet-V1 1.25, EfficientNet-B1, & ResNet50-D weights w/ MNV4 baseline challenge recipe
model top1 top5 param_count img_size
resnet50d.ra4_e3600_r224_in1k 81.838 95.922 25.58 288
efficientnet_b1.ra4_e3600_r240_in1k 81.440 95.700 7.79 288
resnet50d.ra4_e3600_r224_in1k 80.952 95.384 25.58 224
efficientnet_b1.ra4_e3600_r240_in1k 80.406 95.152 7.79 240
mobilenetv1_125.ra4_e3600_r224_in1k 77.600 93.804 6.27 256
mobilenetv1_125.ra4_e3600_r224_in1k 76.924 93.234 6.27 224
  • Add SAM2 (HieraDet) backbone arch & weight loading support

  • Add Hiera Small weights trained w/ abswin pos embed on in12k & fine-tuned on 1k

model top1 top5 param_count
hiera_small_abswin_256.sbb2_e200_in12k_ft_in1k 84.912 97.260 35.01
hiera_small_abswin_256.sbb2_pd_e200_in12k_ft_in1k 84.560 97.106 35.01

Aug 8, 2024

Commits
  • 0727833 Version 1.0.9
  • 76b0e99 Placeholder for new mnv3 model
  • ed7aaf8 Merge pull request #2264 from huggingface/group_size_eff
  • bef0c12 Add re-run of imagenet val/ood test set results. Fixed wrong crop for models ...
  • 39e92f0 mobilenet_edgetpu can use group_size override, more consistency in arg wrap/s...
  • b9f020a Allow group_size override for more efficientnet and mobilenetv3 based models
  • 26ed96b Create UPGRADING.md
  • 29d69e8 Update README.md
  • 9f228b7 Update README.md
  • 00c5be7 Merge pull request #2258 from huggingface/sbb2_vit_hiera_weights
  • Additional commits viewable in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

@dependabot dependabot bot requested a review from samet-akcay as a code owner August 26, 2024 11:48
@dependabot dependabot bot added Dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Aug 26, 2024
Copy link

codecov bot commented Aug 26, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 80.91%. Comparing base (cdd338c) to head (b0c63a4).
Report is 29 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2274      +/-   ##
==========================================
- Coverage   80.92%   80.91%   -0.02%     
==========================================
  Files         247      247              
  Lines       10886    10886              
==========================================
- Hits         8810     8808       -2     
- Misses       2076     2078       +2     
Flag Coverage Δ
80.91% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@dependabot dependabot bot force-pushed the dependabot/pip/timm-gte-1.0.7-and-lte-1.0.9 branch 2 times, most recently from 2bcfbac to 0842752 Compare September 2, 2024 12:05
Updates the requirements on [timm](https://github.com/huggingface/pytorch-image-models) to permit the latest version.
- [Release notes](https://github.com/huggingface/pytorch-image-models/releases)
- [Commits](huggingface/pytorch-image-models@v1.0.7...v1.0.9)

---
updated-dependencies:
- dependency-name: timm
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot force-pushed the dependabot/pip/timm-gte-1.0.7-and-lte-1.0.9 branch from 0842752 to 7523fe3 Compare September 3, 2024 20:22
@samet-akcay samet-akcay merged commit 7556dd8 into main Sep 24, 2024
8 of 9 checks passed
@samet-akcay samet-akcay deleted the dependabot/pip/timm-gte-1.0.7-and-lte-1.0.9 branch September 24, 2024 11:21
@samet-akcay samet-akcay changed the title Update timm requirement from <=1.0.7,>=1.0.7 to >=1.0.7,<=1.0.9 Update timm requirement Sep 24, 2024
samet-akcay added a commit that referenced this pull request Oct 16, 2024
* Update timm requirement from <=1.0.7,>=1.0.7 to >=1.0.7,<=1.0.9 (#2274)

* Update timm requirement from <=1.0.7,>=1.0.7 to >=1.0.7,<=1.0.9

Updates the requirements on [timm](https://github.com/huggingface/pytorch-image-models) to permit the latest version.
- [Release notes](https://github.com/huggingface/pytorch-image-models/releases)
- [Commits](huggingface/pytorch-image-models@v1.0.7...v1.0.9)

---
updated-dependencies:
- dependency-name: timm
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

* Update pyproject.toml

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Samet Akcay <[email protected]>

* 🐞Update `setuptools` requirement for PEP 660 support (#2320)

Update setup tools

Signed-off-by: Samet Akcay <[email protected]>

* Fix transforms for draem, dsr and rkde (#2324)

Signed-off-by: Blaz Rolih <[email protected]>

* Add check before loading metrics data from checkpoint (#2323)

Add check before loading from checkpoint

Signed-off-by: Blaz Rolih <[email protected]>
Co-authored-by: Samet Akcay <[email protected]>

* Add PIMO (#2329)

* PIMO (#1726)

* update

Signed-off-by: jpcbertoldo <[email protected]>

* test binclf curves numpy and numba and fixes

Signed-off-by: jpcbertoldo <[email protected]>

* correct som docstrings

Signed-off-by: jpcbertoldo <[email protected]>

* torch interface and tests

Signed-off-by: jpcbertoldo <[email protected]>

* torch interface and tests

Signed-off-by: jpcbertoldo <[email protected]>

* constants regrouped in dataclass as class vars

Signed-off-by: jpcbertoldo <[email protected]>

* result class was unneccesary for per_image_binclf_curve

Signed-off-by: jpcbertoldo <[email protected]>

* factorize function _get_threshs_minmax_linspace

Signed-off-by: jpcbertoldo <[email protected]>

* small docs fixes

Signed-off-by: jpcbertoldo <[email protected]>

* add pimo numpy version and test

Signed-off-by: jpcbertoldo <[email protected]>

* move validation

Signed-off-by: jpcbertoldo <[email protected]>

* add `shared_fpr_metric` option

Signed-off-by: jpcbertoldo <[email protected]>

* add pimo torch functional version and test

Signed-off-by: jpcbertoldo <[email protected]>

* add torchmetrics interface and test

Signed-off-by: jpcbertoldo <[email protected]>

* renames and put things in init

Signed-off-by: jpcbertoldo <[email protected]>

* validate inputs in result objects

Signed-off-by: jpcbertoldo <[email protected]>

* result objects to from dict and tests

Signed-off-by: jpcbertoldo <[email protected]>

* add save and load methods to result objects and test

Signed-off-by: jpcbertoldo <[email protected]>

* refactor validations and minor changes

Signed-off-by: jpcbertoldo <[email protected]>

* test result objects' properties

Signed-off-by: jpcbertoldo <[email protected]>

* minor refactors

Signed-off-by: jpcbertoldo <[email protected]>

* add missing docstrings

Signed-off-by: jpcbertoldo <[email protected]>

* minore vocabulary fix for consistency

Signed-off-by: jpcbertoldo <[email protected]>

* add per image scores statistics and test it

Signed-off-by: jpcbertoldo <[email protected]>

* refactor constants notation

Signed-off-by: jpcbertoldo <[email protected]>

* add stats tests and test it

Signed-off-by: jpcbertoldo <[email protected]>

* change the meaning of AUPIMO.num_thresh

Signed-off-by: jpcbertoldo <[email protected]>

* interface to format pairwise test results

Signed-off-by: jpcbertoldo <[email protected]>

* improve doc

Signed-off-by: jpcbertoldo <[email protected]>

* add optional `paths` to result objects and some minor fixes and refactors

Signed-off-by: jpcbertoldo <[email protected]>

* remove frozen from dataclasses and some done todos

Signed-off-by: jpcbertoldo <[email protected]>

* review headers

Signed-off-by: jpcbertoldo <[email protected]>

* doc modifs

Signed-off-by: jpcbertoldo <[email protected]>

* refactor `score_less_than_thresh` in `_binclf_one_curve_python`

Signed-off-by: jpcbertoldo <[email protected]>

* correct license comments

Signed-off-by: jpcbertoldo <[email protected]>

* fix doc

Signed-off-by: jpcbertoldo <[email protected]>

* numba as extra requirement

Signed-off-by: jpcbertoldo <[email protected]>

* refactor copyrights from jpcbertoldo

Signed-off-by: jpcbertoldo <[email protected]>

* remove from __future__ import annotations

Signed-off-by: jpcbertoldo <[email protected]>

* refactor validations names

Signed-off-by: jpcbertoldo <[email protected]>

* dedupe file path validation

Signed-off-by: jpcbertoldo <[email protected]>

* fix tests

Signed-off-by: jpcbertoldo <[email protected]>

* Add todo

Signed-off-by: jpcbertoldo <[email protected]>

* refactor enums

Signed-off-by: jpcbertoldo <[email protected]>

* only logger.warning

Signed-off-by: jpcbertoldo <[email protected]>

* refactor test imports

Signed-off-by: jpcbertoldo <[email protected]>

* refactor docs

Signed-off-by: jpcbertoldo <[email protected]>

* refactor some docs

Signed-off-by: jpcbertoldo <[email protected]>

* correct pre commit errors

Signed-off-by: jpcbertoldo <[email protected]>

* remove author tag

Signed-off-by: jpcbertoldo <[email protected]>

* add thrid party program

Signed-off-by: jpcbertoldo <[email protected]>

* Update src/anomalib/metrics/per_image/pimo.py

* move HAS_NUMBA

Signed-off-by: jpcbertoldo <[email protected]>

* remove PIMOSharedFPRMetric

Signed-off-by: jpcbertoldo <[email protected]>

* make torchmetrics compute avg by dft

Signed-off-by: jpcbertoldo <[email protected]>

* pre-commit hooks corrections

Signed-off-by: jpcbertoldo <[email protected]>

* correct numpy.trapezoid

Signed-off-by: jpcbertoldo <[email protected]>

---------

Signed-off-by: jpcbertoldo <[email protected]>
Co-authored-by: Samet Akcay <[email protected]>

* 🗑️ Remove numba (#2313)

* remove numba

Signed-off-by: Ashwin Vaidya <[email protected]>

* fix pre-commit checks

Signed-off-by: Ashwin Vaidya <[email protected]>

* add third-party-programs.txt

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* 🗑️ Remove unused methods (#2315)

* remove numba

Signed-off-by: Ashwin Vaidya <[email protected]>

* fix pre-commit checks

Signed-off-by: Ashwin Vaidya <[email protected]>

* remove all unused methods

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* PIMO: Port Numpy → Torch (#2316)

* remove numba

Signed-off-by: Ashwin Vaidya <[email protected]>

* fix pre-commit checks

Signed-off-by: Ashwin Vaidya <[email protected]>

* remove all unused methods

Signed-off-by: Ashwin Vaidya <[email protected]>

* replace numpy with torch

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* 🔨Refactor methods across files (#2321)

* remove numba

Signed-off-by: Ashwin Vaidya <[email protected]>

* fix pre-commit checks

Signed-off-by: Ashwin Vaidya <[email protected]>

* remove all unused methods

Signed-off-by: Ashwin Vaidya <[email protected]>

* replace numpy with torch

Signed-off-by: Ashwin Vaidya <[email protected]>

* refactor code

Signed-off-by: Ashwin Vaidya <[email protected]>

* refactor
move functional inside update
remove path from the metric

* Add changes from comments

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* Remove model to model comparison (#2325)

* rename to pimo

Signed-off-by: Ashwin Vaidya <[email protected]>

* minor refactor

Signed-off-by: Ashwin Vaidya <[email protected]>

* remove model to model comparison

Signed-off-by: Ashwin Vaidya <[email protected]>

* fix test

Signed-off-by: Ashwin Vaidya <[email protected]>

* PR comments

Signed-off-by: Ashwin Vaidya <[email protected]>

* Minor refactor

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* PR comments

Signed-off-by: Ashwin Vaidya <[email protected]>

* Remove unused enums

Signed-off-by: Ashwin Vaidya <[email protected]>

* update doc strings

Signed-off-by: Ashwin Vaidya <[email protected]>

* update param names

Signed-off-by: Ashwin Vaidya <[email protected]>

* add aupimo basic usage tutorial notebook (#2330)

* add aupimo basic usage tutorial notebook

Signed-off-by: jpcbertoldo <[email protected]>

* update scipy import

Signed-off-by: jpcbertoldo <[email protected]>

* add cite us

Signed-off-by: jpcbertoldo <[email protected]>

* minor

Signed-off-by: jpcbertoldo <[email protected]>

* modify texts and add illustration

Signed-off-by: jpcbertoldo <[email protected]>

* udpate working dir

Signed-off-by: jpcbertoldo <[email protected]>

---------

Signed-off-by: jpcbertoldo <[email protected]>

---------

Signed-off-by: jpcbertoldo <[email protected]>
Signed-off-by: Ashwin Vaidya <[email protected]>
Co-authored-by: Joao P C Bertoldo <[email protected]>
Co-authored-by: Samet Akcay <[email protected]>

* Makes batch size dynamic (#2339)

Made batch dimension of ONNX export dynamic when specifying input shape.

* Add pimo tutorial advanced i (fixed) (#2336)

* uset all padim features to make it deterministic

Signed-off-by: jpcbertoldo <[email protected]>

* add aupimo notebook advanced i

Signed-off-by: jpcbertoldo <[email protected]>

* update readme

Signed-off-by: jpcbertoldo <[email protected]>

* modify changelog

Signed-off-by: jpcbertoldo <[email protected]>

* correct readme

Signed-off-by: jpcbertoldo <[email protected]>

* correct again

Signed-off-by: jpcbertoldo <[email protected]>

* minor corrections

Signed-off-by: jpcbertoldo <[email protected]>

---------

Signed-off-by: jpcbertoldo <[email protected]>

* Pimo tutorials/02 advanced ii (#2347)

* uset all padim features to make it deterministic

Signed-off-by: jpcbertoldo <[email protected]>

* add aupimo notebook advanced i

Signed-off-by: jpcbertoldo <[email protected]>

* update readme

Signed-off-by: jpcbertoldo <[email protected]>

* modify changelog

Signed-off-by: jpcbertoldo <[email protected]>

* correct readme

Signed-off-by: jpcbertoldo <[email protected]>

* correct again

Signed-off-by: jpcbertoldo <[email protected]>

* minor corrections

Signed-off-by: jpcbertoldo <[email protected]>

* add aupimo notebook advanced ii (pimo curve and integration bounds)

Signed-off-by: jpcbertoldo <[email protected]>

* fix links

Signed-off-by: jpcbertoldo <[email protected]>

* correct change log

Signed-off-by: jpcbertoldo <[email protected]>

---------

Signed-off-by: jpcbertoldo <[email protected]>

* Create epic.yaml

* 🔨 Update the issue templates (#2363)

* Update epic.yaml

* Update epic.yaml

* Update epic.yaml

* Update epic.yaml

* Update task.yaml

* Create user_story.yaml

* Update epic.yaml

* Pimo tutorials/03 advanced iii (#2348)

* add aupimo notebook advanced iii (aupimo score of a random model)

Signed-off-by: jpcbertoldo <[email protected]>

* add cite us

Signed-off-by: jpcbertoldo <[email protected]>

* update notebooks readme

Signed-off-by: jpcbertoldo <[email protected]>

---------

Signed-off-by: jpcbertoldo <[email protected]>
Co-authored-by: Samet Akcay <[email protected]>

* 🔨 Deprecate try import and replace it with Lightning's package_available (#2373)

Replace try_import with lightnings package_available function

Signed-off-by: Samet Akcay <[email protected]>

* Refactor folder3d to avoid complex-structure (C901) issue (#2185)

* Refactored-make_folder3d_dataset-ruff-error-C901 (#1926)

Signed-off-by: sahusiddharth <[email protected]>

* Simplify folder 3d dataset (#2184)

---------

Signed-off-by: sahusiddharth <[email protected]>
Co-authored-by: Siddharth Sahu <[email protected]>

---------

Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: Samet Akcay <[email protected]>
Signed-off-by: Blaz Rolih <[email protected]>
Signed-off-by: jpcbertoldo <[email protected]>
Signed-off-by: Ashwin Vaidya <[email protected]>
Signed-off-by: sahusiddharth <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Blaž Rolih <[email protected]>
Co-authored-by: Ashwin Vaidya <[email protected]>
Co-authored-by: Joao P C Bertoldo <[email protected]>
Co-authored-by: Marcus Pertlwieser <[email protected]>
Co-authored-by: Siddharth Sahu <[email protected]>
samet-akcay added a commit that referenced this pull request Nov 15, 2024
* Update timm requirement from <=1.0.7,>=1.0.7 to >=1.0.7,<=1.0.9 (#2274)

* Update timm requirement from <=1.0.7,>=1.0.7 to >=1.0.7,<=1.0.9

Updates the requirements on [timm](https://github.com/huggingface/pytorch-image-models) to permit the latest version.
- [Release notes](https://github.com/huggingface/pytorch-image-models/releases)
- [Commits](huggingface/pytorch-image-models@v1.0.7...v1.0.9)

---
updated-dependencies:
- dependency-name: timm
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

* Update pyproject.toml

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Samet Akcay <[email protected]>

* 🐞Update `setuptools` requirement for PEP 660 support (#2320)

Update setup tools

Signed-off-by: Samet Akcay <[email protected]>

* Fix transforms for draem, dsr and rkde (#2324)

Signed-off-by: Blaz Rolih <[email protected]>

* Add check before loading metrics data from checkpoint (#2323)

Add check before loading from checkpoint

Signed-off-by: Blaz Rolih <[email protected]>
Co-authored-by: Samet Akcay <[email protected]>

* Add PIMO (#2329)

* PIMO (#1726)

* update

Signed-off-by: jpcbertoldo <[email protected]>

* test binclf curves numpy and numba and fixes

Signed-off-by: jpcbertoldo <[email protected]>

* correct som docstrings

Signed-off-by: jpcbertoldo <[email protected]>

* torch interface and tests

Signed-off-by: jpcbertoldo <[email protected]>

* torch interface and tests

Signed-off-by: jpcbertoldo <[email protected]>

* constants regrouped in dataclass as class vars

Signed-off-by: jpcbertoldo <[email protected]>

* result class was unneccesary for per_image_binclf_curve

Signed-off-by: jpcbertoldo <[email protected]>

* factorize function _get_threshs_minmax_linspace

Signed-off-by: jpcbertoldo <[email protected]>

* small docs fixes

Signed-off-by: jpcbertoldo <[email protected]>

* add pimo numpy version and test

Signed-off-by: jpcbertoldo <[email protected]>

* move validation

Signed-off-by: jpcbertoldo <[email protected]>

* add `shared_fpr_metric` option

Signed-off-by: jpcbertoldo <[email protected]>

* add pimo torch functional version and test

Signed-off-by: jpcbertoldo <[email protected]>

* add torchmetrics interface and test

Signed-off-by: jpcbertoldo <[email protected]>

* renames and put things in init

Signed-off-by: jpcbertoldo <[email protected]>

* validate inputs in result objects

Signed-off-by: jpcbertoldo <[email protected]>

* result objects to from dict and tests

Signed-off-by: jpcbertoldo <[email protected]>

* add save and load methods to result objects and test

Signed-off-by: jpcbertoldo <[email protected]>

* refactor validations and minor changes

Signed-off-by: jpcbertoldo <[email protected]>

* test result objects' properties

Signed-off-by: jpcbertoldo <[email protected]>

* minor refactors

Signed-off-by: jpcbertoldo <[email protected]>

* add missing docstrings

Signed-off-by: jpcbertoldo <[email protected]>

* minore vocabulary fix for consistency

Signed-off-by: jpcbertoldo <[email protected]>

* add per image scores statistics and test it

Signed-off-by: jpcbertoldo <[email protected]>

* refactor constants notation

Signed-off-by: jpcbertoldo <[email protected]>

* add stats tests and test it

Signed-off-by: jpcbertoldo <[email protected]>

* change the meaning of AUPIMO.num_thresh

Signed-off-by: jpcbertoldo <[email protected]>

* interface to format pairwise test results

Signed-off-by: jpcbertoldo <[email protected]>

* improve doc

Signed-off-by: jpcbertoldo <[email protected]>

* add optional `paths` to result objects and some minor fixes and refactors

Signed-off-by: jpcbertoldo <[email protected]>

* remove frozen from dataclasses and some done todos

Signed-off-by: jpcbertoldo <[email protected]>

* review headers

Signed-off-by: jpcbertoldo <[email protected]>

* doc modifs

Signed-off-by: jpcbertoldo <[email protected]>

* refactor `score_less_than_thresh` in `_binclf_one_curve_python`

Signed-off-by: jpcbertoldo <[email protected]>

* correct license comments

Signed-off-by: jpcbertoldo <[email protected]>

* fix doc

Signed-off-by: jpcbertoldo <[email protected]>

* numba as extra requirement

Signed-off-by: jpcbertoldo <[email protected]>

* refactor copyrights from jpcbertoldo

Signed-off-by: jpcbertoldo <[email protected]>

* remove from __future__ import annotations

Signed-off-by: jpcbertoldo <[email protected]>

* refactor validations names

Signed-off-by: jpcbertoldo <[email protected]>

* dedupe file path validation

Signed-off-by: jpcbertoldo <[email protected]>

* fix tests

Signed-off-by: jpcbertoldo <[email protected]>

* Add todo

Signed-off-by: jpcbertoldo <[email protected]>

* refactor enums

Signed-off-by: jpcbertoldo <[email protected]>

* only logger.warning

Signed-off-by: jpcbertoldo <[email protected]>

* refactor test imports

Signed-off-by: jpcbertoldo <[email protected]>

* refactor docs

Signed-off-by: jpcbertoldo <[email protected]>

* refactor some docs

Signed-off-by: jpcbertoldo <[email protected]>

* correct pre commit errors

Signed-off-by: jpcbertoldo <[email protected]>

* remove author tag

Signed-off-by: jpcbertoldo <[email protected]>

* add thrid party program

Signed-off-by: jpcbertoldo <[email protected]>

* Update src/anomalib/metrics/per_image/pimo.py

* move HAS_NUMBA

Signed-off-by: jpcbertoldo <[email protected]>

* remove PIMOSharedFPRMetric

Signed-off-by: jpcbertoldo <[email protected]>

* make torchmetrics compute avg by dft

Signed-off-by: jpcbertoldo <[email protected]>

* pre-commit hooks corrections

Signed-off-by: jpcbertoldo <[email protected]>

* correct numpy.trapezoid

Signed-off-by: jpcbertoldo <[email protected]>

---------

Signed-off-by: jpcbertoldo <[email protected]>
Co-authored-by: Samet Akcay <[email protected]>

* 🗑️ Remove numba (#2313)

* remove numba

Signed-off-by: Ashwin Vaidya <[email protected]>

* fix pre-commit checks

Signed-off-by: Ashwin Vaidya <[email protected]>

* add third-party-programs.txt

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* 🗑️ Remove unused methods (#2315)

* remove numba

Signed-off-by: Ashwin Vaidya <[email protected]>

* fix pre-commit checks

Signed-off-by: Ashwin Vaidya <[email protected]>

* remove all unused methods

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* PIMO: Port Numpy → Torch (#2316)

* remove numba

Signed-off-by: Ashwin Vaidya <[email protected]>

* fix pre-commit checks

Signed-off-by: Ashwin Vaidya <[email protected]>

* remove all unused methods

Signed-off-by: Ashwin Vaidya <[email protected]>

* replace numpy with torch

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* 🔨Refactor methods across files (#2321)

* remove numba

Signed-off-by: Ashwin Vaidya <[email protected]>

* fix pre-commit checks

Signed-off-by: Ashwin Vaidya <[email protected]>

* remove all unused methods

Signed-off-by: Ashwin Vaidya <[email protected]>

* replace numpy with torch

Signed-off-by: Ashwin Vaidya <[email protected]>

* refactor code

Signed-off-by: Ashwin Vaidya <[email protected]>

* refactor
move functional inside update
remove path from the metric

* Add changes from comments

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* Remove model to model comparison (#2325)

* rename to pimo

Signed-off-by: Ashwin Vaidya <[email protected]>

* minor refactor

Signed-off-by: Ashwin Vaidya <[email protected]>

* remove model to model comparison

Signed-off-by: Ashwin Vaidya <[email protected]>

* fix test

Signed-off-by: Ashwin Vaidya <[email protected]>

* PR comments

Signed-off-by: Ashwin Vaidya <[email protected]>

* Minor refactor

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* PR comments

Signed-off-by: Ashwin Vaidya <[email protected]>

* Remove unused enums

Signed-off-by: Ashwin Vaidya <[email protected]>

* update doc strings

Signed-off-by: Ashwin Vaidya <[email protected]>

* update param names

Signed-off-by: Ashwin Vaidya <[email protected]>

* add aupimo basic usage tutorial notebook (#2330)

* add aupimo basic usage tutorial notebook

Signed-off-by: jpcbertoldo <[email protected]>

* update scipy import

Signed-off-by: jpcbertoldo <[email protected]>

* add cite us

Signed-off-by: jpcbertoldo <[email protected]>

* minor

Signed-off-by: jpcbertoldo <[email protected]>

* modify texts and add illustration

Signed-off-by: jpcbertoldo <[email protected]>

* udpate working dir

Signed-off-by: jpcbertoldo <[email protected]>

---------

Signed-off-by: jpcbertoldo <[email protected]>

---------

Signed-off-by: jpcbertoldo <[email protected]>
Signed-off-by: Ashwin Vaidya <[email protected]>
Co-authored-by: Joao P C Bertoldo <[email protected]>
Co-authored-by: Samet Akcay <[email protected]>

* Makes batch size dynamic (#2339)

Made batch dimension of ONNX export dynamic when specifying input shape.

* Add pimo tutorial advanced i (fixed) (#2336)

* uset all padim features to make it deterministic

Signed-off-by: jpcbertoldo <[email protected]>

* add aupimo notebook advanced i

Signed-off-by: jpcbertoldo <[email protected]>

* update readme

Signed-off-by: jpcbertoldo <[email protected]>

* modify changelog

Signed-off-by: jpcbertoldo <[email protected]>

* correct readme

Signed-off-by: jpcbertoldo <[email protected]>

* correct again

Signed-off-by: jpcbertoldo <[email protected]>

* minor corrections

Signed-off-by: jpcbertoldo <[email protected]>

---------

Signed-off-by: jpcbertoldo <[email protected]>

* Pimo tutorials/02 advanced ii (#2347)

* uset all padim features to make it deterministic

Signed-off-by: jpcbertoldo <[email protected]>

* add aupimo notebook advanced i

Signed-off-by: jpcbertoldo <[email protected]>

* update readme

Signed-off-by: jpcbertoldo <[email protected]>

* modify changelog

Signed-off-by: jpcbertoldo <[email protected]>

* correct readme

Signed-off-by: jpcbertoldo <[email protected]>

* correct again

Signed-off-by: jpcbertoldo <[email protected]>

* minor corrections

Signed-off-by: jpcbertoldo <[email protected]>

* add aupimo notebook advanced ii (pimo curve and integration bounds)

Signed-off-by: jpcbertoldo <[email protected]>

* fix links

Signed-off-by: jpcbertoldo <[email protected]>

* correct change log

Signed-off-by: jpcbertoldo <[email protected]>

---------

Signed-off-by: jpcbertoldo <[email protected]>

* Create epic.yaml

* 🔨 Update the issue templates (#2363)

* Update epic.yaml

* Update epic.yaml

* Update epic.yaml

* Update epic.yaml

* Update task.yaml

* Create user_story.yaml

* Update epic.yaml

* Pimo tutorials/03 advanced iii (#2348)

* add aupimo notebook advanced iii (aupimo score of a random model)

Signed-off-by: jpcbertoldo <[email protected]>

* add cite us

Signed-off-by: jpcbertoldo <[email protected]>

* update notebooks readme

Signed-off-by: jpcbertoldo <[email protected]>

---------

Signed-off-by: jpcbertoldo <[email protected]>
Co-authored-by: Samet Akcay <[email protected]>

* 🔨 Deprecate try import and replace it with Lightning's package_available (#2373)

Replace try_import with lightnings package_available function

Signed-off-by: Samet Akcay <[email protected]>

* Refactor folder3d to avoid complex-structure (C901) issue (#2185)

* Refactored-make_folder3d_dataset-ruff-error-C901 (#1926)

Signed-off-by: sahusiddharth <[email protected]>

* Simplify folder 3d dataset (#2184)

---------

Signed-off-by: sahusiddharth <[email protected]>
Co-authored-by: Siddharth Sahu <[email protected]>

* 🚀 Add datumaro annotation dataloader (#2377)

* Add datumaro annotation dataloader

Signed-off-by: Ashwin Vaidya <[email protected]>

* Update changelog

Signed-off-by: Ashwin Vaidya <[email protected]>

* Add examples

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* Pimo tutorials/04 advanced iv  (#2352)

* add notebook 701e_aupimo_advanced_iv on load/save and statistical comparisons

Signed-off-by: jpcbertoldo <[email protected]>

* make `AUPIMOResult.num_thresholds` optional

Signed-off-by: jpcbertoldo <[email protected]>

* add aupimo notebook advanced iv (load/save and statistical tests)

Signed-off-by: jpcbertoldo <[email protected]>

* simplify cite us and mention intal

Signed-off-by: jpcbertoldo <[email protected]>

* fix readme

Signed-off-by: jpcbertoldo <[email protected]>

---------

Signed-off-by: jpcbertoldo <[email protected]>
Co-authored-by: Samet Akcay <[email protected]>

* 🐞 Defer OpenVINO import to avoid unnecessary warnings (#2385)

* Fix openvino import issue

Signed-off-by: Samet Akcay <[email protected]>

* Fix pre-commit issues

Signed-off-by: Samet Akcay <[email protected]>

---------

Signed-off-by: Samet Akcay <[email protected]>

* 🚀 Add VLM based Anomaly Model (#2344)

* [Draft] Llm on (#2165)

* Add TaskType Explanation

Signed-off-by: Bepitic <[email protected]>

* Add llm model

Signed-off-by: Bepitic <[email protected]>

* add ollama

Signed-off-by: Bepitic <[email protected]>

* better description for descr in title

Signed-off-by: Bepitic <[email protected]>

* add text of llm into imageResult visualization

* add text of llm into imageResult visualization

Signed-off-by: Bepitic <[email protected]>

* latest changes

Signed-off-by: Bepitic <[email protected]>

* add wip llava/llava_next

Signed-off-by: Bepitic <[email protected]>

* add init

Signed-off-by: Bepitic <[email protected]>

* add text of llm into imageResult visualization

Signed-off-by: Bepitic <[email protected]>

* latest changes

Signed-off-by: Bepitic <[email protected]>

* upd Lint

Signed-off-by: Bepitic <[email protected]>

* fix visualization with description

Signed-off-by: Bepitic <[email protected]>

* show the images every batch

Signed-off-by: Bepitic <[email protected]>

* fix docstring and error management

Signed-off-by: Bepitic <[email protected]>

* Add compatibility for TaskType.EXPLANATION.

Signed-off-by: Bepitic <[email protected]>

* Remove, show in the engine-Visualization.

* fix visualization and llm openai multishot.

* fix Circular import problem

* Add HugginFace To LLavaNext

Signed-off-by: Bepitic <[email protected]>

---------

Signed-off-by: Bepitic <[email protected]>

* 🔨 Scaffold for refactor (#2340)

* initial scafold

Signed-off-by: Ashwin Vaidya <[email protected]>

* Apply PR comments

Signed-off-by: Ashwin Vaidya <[email protected]>

* rename dir

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* Add ChatGPT (#2341)

* initial scafold

Signed-off-by: Ashwin Vaidya <[email protected]>

* Apply PR comments

Signed-off-by: Ashwin Vaidya <[email protected]>

* rename dir

Signed-off-by: Ashwin Vaidya <[email protected]>

* delete llm_ollama

Signed-off-by: Ashwin Vaidya <[email protected]>

* Add ChatGPT

Signed-off-by: Ashwin Vaidya <[email protected]>

* Add ChatGPT

Signed-off-by: Ashwin Vaidya <[email protected]>

* Remove LLM model

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* Add Huggingface (#2343)

* initial scafold

Signed-off-by: Ashwin Vaidya <[email protected]>

* Apply PR comments

Signed-off-by: Ashwin Vaidya <[email protected]>

* rename dir

Signed-off-by: Ashwin Vaidya <[email protected]>

* delete llm_ollama

Signed-off-by: Ashwin Vaidya <[email protected]>

* Add ChatGPT

Signed-off-by: Ashwin Vaidya <[email protected]>

* Add ChatGPT

Signed-off-by: Ashwin Vaidya <[email protected]>

* Remove LLM model

Signed-off-by: Ashwin Vaidya <[email protected]>

* Add transformers

Signed-off-by: Ashwin Vaidya <[email protected]>

* Remove llava

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* 🔨 Minor Refactor (#2345)

Refactor

Signed-off-by: Ashwin Vaidya <[email protected]>

* undo changes

Signed-off-by: Ashwin Vaidya <[email protected]>

* undo changes

Signed-off-by: Ashwin Vaidya <[email protected]>

* undo changes to image.py

Signed-off-by: Ashwin Vaidya <[email protected]>

* Add explanation visualizer (#2351)

* Add explanation visualizer

Signed-off-by: Ashwin Vaidya <[email protected]>

* bug-fix

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* 🔨 Allow setting API keys from env (#2353)

Allow setting API keys from env

Signed-off-by: Ashwin Vaidya <[email protected]>

* 🧪 Add tests (#2355)

* Add tests

Signed-off-by: Ashwin Vaidya <[email protected]>

* remove explanation task type

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* minor fixes

Signed-off-by: Ashwin Vaidya <[email protected]>

* Update changelog

Signed-off-by: Ashwin Vaidya <[email protected]>

* Fix tests

Signed-off-by: Ashwin Vaidya <[email protected]>

* Address PR comments

Signed-off-by: Ashwin Vaidya <[email protected]>

* update name

Signed-off-by: Ashwin Vaidya <[email protected]>

* Update src/anomalib/models/image/vlm_ad/lightning_model.py

Co-authored-by: Samet Akcay <[email protected]>

* update name

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Bepitic <[email protected]>
Signed-off-by: Ashwin Vaidya <[email protected]>
Co-authored-by: Paco <[email protected]>
Co-authored-by: Samet Akcay <[email protected]>

* Add ensembling methods for tiling to Anomalib (#1226)

* Fixed broken links in readme

* Fixed inference command in readme

* Add tiling for ensemble

* Add tests for tiling for ensemble

* Moved ensemble tiler to separate file

* Modify padim config for ensemble

* Add tiling to dataset

* Revert changes to train

* Add tiling to collate fn

* Fix tiling in collate

* Change val. function to protected

* Add tile number logic

* Move collate fn to separate file

* Update tests for tiler

* Add training loop for ensemble

* Add model input size setup

* Move ens config to separate file

* Revert mvtec modifications

* Remove unused imports in mvtec

* Add batch adjustment to untiling

* Add predict step to ensemble

* Add comment and docstring to tile joining function

* Move tile joining to separate function

* Add joining for all tiled data

* Add joining for all box data

* Refactor pred. joining as modular class

* Fix box joining

* Add label and score joining

* Add ensemble visualization

* Add end of predict hook

* Add metric computation

* Fix metric thresholds

* Add removal of individual visualization

* Add demo1 notebook

* Add docstrings and cleanup

* Add memory benchmark

* Add modular class for storing predictions

* Add metric to separate class

* Refactor to support prediction data class

* Rename predictions class

* Add filesystem predictions class

* Add resized predictions class

* Fix joiner for classification task

* Add page peak to memory benchmark

* Add global stats calculation

* Add docstrings to stats calculation

* Refactor joiner for pipeline

* Refactor stats into pipeline

* Refactor metrics as pipeline block

* Refactor visualization as pipeline block

* Refactor postprocessing into a pipeline

* Add normalization and thresholding on joined predictions

* Refactor tiler to accept config file

* Add smoothing of tile joins.

* Refactor ensemble datamodule preparation

* Remove unused changes in dataloader

* Fix metric configuration

* Fix box coordinates in joining

* Add ensemble callbacks preparation function

* Fix box prediction bug in postprocess

* Add ensemble params to config

* Refactor postprocessing.

* Refactor post-processing

* Refactor predictions

* Code cleanup

* Optimize prediction storage

* Make join smoothing configurable

* Cleanup before PR

* Fix stats pipeline

* Fix logging strings

* Fix memory benchmark

* Fix tiler issues

* Fix import issues

* Fix naming in metrics and visualization

* Fix cyclic import

* Make logging lazy

* Refactor tiler tests

* Added collate tiling tests

* Added ensemble helper functions tests

* Refactor for dummy ensemble config

* Refactor for dummy base config

* Add tests for prediction storage

* Add tests for prediction joiner

* Add tests for visualization

* Fix small issues in tests

* Add metrics test

* Add post-processing tests

* Fix tiler to work with different instance

* Move seed setting inside train loop

* Fix pipeline stats bug

* Rename ensemble config fixture

* Add pipeline tests

* Fix config in pipeline tests

* Add training script test

* Fix types and docstrings

* Move and rename to tiled_ensemble

* Fix bug in label joining.

* Remove memory benchmark

* Cleanup files

* Fix metrics setup

* Rename collate function

* Add license to test files

* Rename fixtures

* Add more comments to tiled ensemble training

* Add start of training log message

* Refactor tiler to have explicit arguments

* Refactor pred. storage to have explicit arguments

* Refactor metrics to have explicit arguments

* Refactor visualization to have explicit arguments

* Refactor post-processing to have explicit arguments

* Sort imports

* Add test ensemble script

* Fix join smoothing bug

* Add more documentation to doc-strings

* Remove unused import

* Add brief tiled ensemble documentation

* Update typehints

* Make training args more clear

* Revert addition of no threshold option.

* Refactor normalization and threshold config

* Remove tiled ensemble from docs index

* Add comments to clarify parts of ensemble config

* Improve ensemble config comments

* Add num_tiles attribute to tiler.

* Fix metrics process docstring

* Fix visualization bug and cover with test

* Replace strings with enum

* Improve comments in joiner.

* Fix bug when model doesn't have anomaly maps.

* Improve docstrings (types, clarify).

* Fix visualization tests

* Fix dict membership checks

* Add saving of ensemble config file

* Update test script args

* Cover test script with tests

* Update export warning

* Fix case when no test or val data

* Improve documentation images

* Add images for documentation

* Add codacy suggestion

* Refactor joiner to single class

* Refactor storage names and config

* Update normalization and threshold stage names

* Add transforms independent input size to models

Signed-off-by: blaz-r <[email protected]>

* Make collate function a datamodule attribute

Signed-off-by: blaz-r <[email protected]>

* Refactor tiled ensemble train into pipeline step

Signed-off-by: blaz-r <[email protected]>

* Refactor tiled ensemble prediction into pipeline step

Signed-off-by: blaz-r <[email protected]>

* Refactor tiled ensemble merging into pipeline step

Signed-off-by: blaz-r <[email protected]>

* Refactor tiled ensemble seam smoothing into pipeline step

Signed-off-by: blaz-r <[email protected]>

* Refactor tiled stats calculation into pipeline step

Signed-off-by: blaz-r <[email protected]>

* Fix ckpt loading when predicting on test set.

Signed-off-by: blaz-r <[email protected]>

* Add logging and add tqdm to pipeline steps.

Signed-off-by: blaz-r <[email protected]>

* Refactor normalization pipeline step

Signed-off-by: blaz-r <[email protected]>

* Refactor thresholding into new pipeline job

* Fix transforms issue when predicting with dataloader

* Add visualization as new pipeline step

* Add metrics as new pipeline step

* Format the code and address some lint problems

Signed-off-by: Blaz Rolih <[email protected]>

* Add code to skip test if test split is none

Signed-off-by: Blaz Rolih <[email protected]>

* Add accelerator to metrics and smoothing

Signed-off-by: Blaz Rolih <[email protected]>

* Make threshold acq helper function and add to threshold to metrics

Signed-off-by: Blaz Rolih <[email protected]>

* Make a separate test pipeline

Signed-off-by: Blaz Rolih <[email protected]>

* Restructure tiled ensemble files into directories

Signed-off-by: Blaz Rolih <[email protected]>

* Pipeline code cleanup

Signed-off-by: Blaz Rolih <[email protected]>

* Remove old tiled ensemble files

Signed-off-by: blaz-r <[email protected]>

* Remove old post processing files

Signed-off-by: blaz-r <[email protected]>

* Fix sigma value read in smoothing

Signed-off-by: blaz-r <[email protected]>

* Update stats calc and normalization

Signed-off-by: blaz-r <[email protected]>

* Update args naming convention

Signed-off-by: blaz-r <[email protected]>

* Refactor code for nice config

Signed-off-by: blaz-r <[email protected]>

* Update docs structure for new system

Signed-off-by: blaz-r <[email protected]>

* Cleanup train code

Signed-off-by: blaz-r <[email protected]>

* Fix test script args

Signed-off-by: blaz-r <[email protected]>

* Update box merging

Signed-off-by: blaz-r <[email protected]>

* Refactor helper function tests

Signed-off-by: blaz-r <[email protected]>

* Small changes in helper and engine

Signed-off-by: blaz-r <[email protected]>

* Refactor merging tests

Signed-off-by: blaz-r <[email protected]>

* Refactor tiling tests

Signed-off-by: blaz-r <[email protected]>

* Refactor metrics test

Signed-off-by: blaz-r <[email protected]>

* Add support for different threshold methods

Signed-off-by: blaz-r <[email protected]>

* Format tests

Signed-off-by: blaz-r <[email protected]>

* Change test to predict

Signed-off-by: blaz-r <[email protected]>

* Refactor stats calculation tests

Signed-off-by: blaz-r <[email protected]>

* Refactor prediction data tests

Signed-off-by: blaz-r <[email protected]>

* Update metrics tests

Signed-off-by: blaz-r <[email protected]>

* Move metrics tests to components

Signed-off-by: blaz-r <[email protected]>

* Refactor seam smoothing tests

Signed-off-by: blaz-r <[email protected]>

* Refactor normalization tests

Signed-off-by: blaz-r <[email protected]>

* Move mock stats to conftest

Signed-off-by: blaz-r <[email protected]>

* Fix typehints for generator

Signed-off-by: blaz-r <[email protected]>

* Refactor threshold tests

Signed-off-by: blaz-r <[email protected]>

* Temporarily disable box minmax

Signed-off-by: blaz-r <[email protected]>

* Add tiled ensemble integration test

Signed-off-by: blaz-r <[email protected]>

* Fix normalization tests and add additional merging test

Signed-off-by: blaz-r <[email protected]>

* Add tile collater tests

Signed-off-by: blaz-r <[email protected]>

* Change dataset in tests to dummy

Signed-off-by: blaz-r <[email protected]>

* Format and fix linter errors

Signed-off-by: blaz-r <[email protected]>

* Format and some cleanup

Signed-off-by: blaz-r <[email protected]>

* Rename predict to eval

Signed-off-by: blaz-r <[email protected]>

* Update docs for refactored version of code

Signed-off-by: blaz-r <[email protected]>

* Cleanup the docs

Signed-off-by: blaz-r <[email protected]>

* Update ensemble engine

Signed-off-by: blaz-r <[email protected]>

* Remove boxes from pipelines and tests

Signed-off-by: blaz-r <[email protected]>

* Fix TODO comment issue

Signed-off-by: blaz-r <[email protected]>

* Fix unused model in ens. engine

Signed-off-by: blaz-r <[email protected]>

* Fix path case in test

Signed-off-by: blaz-r <[email protected]>

* Change temporary dir to project_path

Signed-off-by: blaz-r <[email protected]>

* Change mvtec to MVTec in test path

Signed-off-by: Blaz Rolih <[email protected]>

---------

Signed-off-by: blaz-r <[email protected]>
Signed-off-by: Blaz Rolih <[email protected]>
Co-authored-by: Samet Akcay <[email protected]>

* 📚 Add training from a checkpoint example (#2389)

* Add training from a checkpoint example

Signed-off-by: Samet Akcay <[email protected]>

* Replace patchcore example with efficient-ad

Signed-off-by: Samet Akcay <[email protected]>

---------

Signed-off-by: Samet Akcay <[email protected]>

* Export experiment duration in seconds in CSV. (#2392)

* Export experiment duration in seconds in CSV.

Signed-off-by: Weilin Xu <[email protected]>

* Update CHANGELOG

Signed-off-by: Weilin Xu <[email protected]>

* Log fit and test durations separately.

Signed-off-by: Weilin Xu <[email protected]>

---------

Signed-off-by: Weilin Xu <[email protected]>
Co-authored-by: Samet Akcay <[email protected]>

* Make single GPU benchmarking 5x more efficient (#2390)

* Use SerialRunner if only one CUDA device is available.

Signed-off-by: Weilin Xu <[email protected]>

* Resolve PLR6201.

Signed-off-by: Weilin Xu <[email protected]>

* Update CHANGELOG.

Signed-off-by: Weilin Xu <[email protected]>

* Keep the same logging level in benchmarking.

Signed-off-by: Weilin Xu <[email protected]>

---------

Signed-off-by: Weilin Xu <[email protected]>
Co-authored-by: Samet Akcay <[email protected]>

* 🐞 Fix installation package issues (#2395)

* Update the coverage settings

Signed-off-by: Samet Akcay <[email protected]>

* Remove VlmAd's relative import

Signed-off-by: Samet Akcay <[email protected]>

* Revert relative imports

Signed-off-by: Samet Akcay <[email protected]>

* Add type checking

Signed-off-by: Samet Akcay <[email protected]>

---------

Signed-off-by: Samet Akcay <[email protected]>

* Export the flattened config in benchmark CSV. (#2391)

* Export the flattened config in benchmark CSV.

Signed-off-by: Weilin Xu <[email protected]>

* Update CHANGELOG

Signed-off-by: Weilin Xu <[email protected]>

* Reuse the existing flatten_dict().

Signed-off-by: Weilin Xu <[email protected]>

---------

Signed-off-by: Weilin Xu <[email protected]>
Co-authored-by: Samet Akcay <[email protected]>

* `v1.2.0` Release (#2397)

Prepare v1.2.0 release (#2396)

* Update changelog



* Update the version in __init__



---------

Signed-off-by: Samet Akcay <[email protected]>

* Bump Anomalib version to `2.0.0dev` in `main` (#2402)

Update __init__.py

* 🐞Replace package_available with module_available (#2407)

* fix datumaro config

* fix edge case in benchmarking pipeline

* fix vlm ad

* remove ensemble tiling in preparation of refactor

---------

Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: Samet Akcay <[email protected]>
Signed-off-by: Blaz Rolih <[email protected]>
Signed-off-by: jpcbertoldo <[email protected]>
Signed-off-by: Ashwin Vaidya <[email protected]>
Signed-off-by: sahusiddharth <[email protected]>
Signed-off-by: Bepitic <[email protected]>
Signed-off-by: blaz-r <[email protected]>
Signed-off-by: Weilin Xu <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Samet Akcay <[email protected]>
Co-authored-by: Blaž Rolih <[email protected]>
Co-authored-by: Ashwin Vaidya <[email protected]>
Co-authored-by: Joao P C Bertoldo <[email protected]>
Co-authored-by: Marcus Pertlwieser <[email protected]>
Co-authored-by: Siddharth Sahu <[email protected]>
Co-authored-by: Paco <[email protected]>
Co-authored-by: Weilin Xu <[email protected]>
Co-authored-by: Harim Kang <[email protected]>
samet-akcay added a commit that referenced this pull request Dec 11, 2024
* Update timm requirement from <=1.0.7,>=1.0.7 to >=1.0.7,<=1.0.9 (#2274)

* Update timm requirement from <=1.0.7,>=1.0.7 to >=1.0.7,<=1.0.9

Updates the requirements on [timm](https://github.com/huggingface/pytorch-image-models) to permit the latest version.
- [Release notes](https://github.com/huggingface/pytorch-image-models/releases)
- [Commits](huggingface/pytorch-image-models@v1.0.7...v1.0.9)

---
updated-dependencies:
- dependency-name: timm
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

* Update pyproject.toml

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Samet Akcay <[email protected]>

* 🐞Update `setuptools` requirement for PEP 660 support (#2320)

Update setup tools

Signed-off-by: Samet Akcay <[email protected]>

* Fix transforms for draem, dsr and rkde (#2324)

Signed-off-by: Blaz Rolih <[email protected]>

* Add check before loading metrics data from checkpoint (#2323)

Add check before loading from checkpoint

Signed-off-by: Blaz Rolih <[email protected]>
Co-authored-by: Samet Akcay <[email protected]>

* Add PIMO (#2329)

* PIMO (#1726)

* update

Signed-off-by: jpcbertoldo <[email protected]>

* test binclf curves numpy and numba and fixes

Signed-off-by: jpcbertoldo <[email protected]>

* correct som docstrings

Signed-off-by: jpcbertoldo <[email protected]>

* torch interface and tests

Signed-off-by: jpcbertoldo <[email protected]>

* torch interface and tests

Signed-off-by: jpcbertoldo <[email protected]>

* constants regrouped in dataclass as class vars

Signed-off-by: jpcbertoldo <[email protected]>

* result class was unneccesary for per_image_binclf_curve

Signed-off-by: jpcbertoldo <[email protected]>

* factorize function _get_threshs_minmax_linspace

Signed-off-by: jpcbertoldo <[email protected]>

* small docs fixes

Signed-off-by: jpcbertoldo <[email protected]>

* add pimo numpy version and test

Signed-off-by: jpcbertoldo <[email protected]>

* move validation

Signed-off-by: jpcbertoldo <[email protected]>

* add `shared_fpr_metric` option

Signed-off-by: jpcbertoldo <[email protected]>

* add pimo torch functional version and test

Signed-off-by: jpcbertoldo <[email protected]>

* add torchmetrics interface and test

Signed-off-by: jpcbertoldo <[email protected]>

* renames and put things in init

Signed-off-by: jpcbertoldo <[email protected]>

* validate inputs in result objects

Signed-off-by: jpcbertoldo <[email protected]>

* result objects to from dict and tests

Signed-off-by: jpcbertoldo <[email protected]>

* add save and load methods to result objects and test

Signed-off-by: jpcbertoldo <[email protected]>

* refactor validations and minor changes

Signed-off-by: jpcbertoldo <[email protected]>

* test result objects' properties

Signed-off-by: jpcbertoldo <[email protected]>

* minor refactors

Signed-off-by: jpcbertoldo <[email protected]>

* add missing docstrings

Signed-off-by: jpcbertoldo <[email protected]>

* minore vocabulary fix for consistency

Signed-off-by: jpcbertoldo <[email protected]>

* add per image scores statistics and test it

Signed-off-by: jpcbertoldo <[email protected]>

* refactor constants notation

Signed-off-by: jpcbertoldo <[email protected]>

* add stats tests and test it

Signed-off-by: jpcbertoldo <[email protected]>

* change the meaning of AUPIMO.num_thresh

Signed-off-by: jpcbertoldo <[email protected]>

* interface to format pairwise test results

Signed-off-by: jpcbertoldo <[email protected]>

* improve doc

Signed-off-by: jpcbertoldo <[email protected]>

* add optional `paths` to result objects and some minor fixes and refactors

Signed-off-by: jpcbertoldo <[email protected]>

* remove frozen from dataclasses and some done todos

Signed-off-by: jpcbertoldo <[email protected]>

* review headers

Signed-off-by: jpcbertoldo <[email protected]>

* doc modifs

Signed-off-by: jpcbertoldo <[email protected]>

* refactor `score_less_than_thresh` in `_binclf_one_curve_python`

Signed-off-by: jpcbertoldo <[email protected]>

* correct license comments

Signed-off-by: jpcbertoldo <[email protected]>

* fix doc

Signed-off-by: jpcbertoldo <[email protected]>

* numba as extra requirement

Signed-off-by: jpcbertoldo <[email protected]>

* refactor copyrights from jpcbertoldo

Signed-off-by: jpcbertoldo <[email protected]>

* remove from __future__ import annotations

Signed-off-by: jpcbertoldo <[email protected]>

* refactor validations names

Signed-off-by: jpcbertoldo <[email protected]>

* dedupe file path validation

Signed-off-by: jpcbertoldo <[email protected]>

* fix tests

Signed-off-by: jpcbertoldo <[email protected]>

* Add todo

Signed-off-by: jpcbertoldo <[email protected]>

* refactor enums

Signed-off-by: jpcbertoldo <[email protected]>

* only logger.warning

Signed-off-by: jpcbertoldo <[email protected]>

* refactor test imports

Signed-off-by: jpcbertoldo <[email protected]>

* refactor docs

Signed-off-by: jpcbertoldo <[email protected]>

* refactor some docs

Signed-off-by: jpcbertoldo <[email protected]>

* correct pre commit errors

Signed-off-by: jpcbertoldo <[email protected]>

* remove author tag

Signed-off-by: jpcbertoldo <[email protected]>

* add thrid party program

Signed-off-by: jpcbertoldo <[email protected]>

* Update src/anomalib/metrics/per_image/pimo.py

* move HAS_NUMBA

Signed-off-by: jpcbertoldo <[email protected]>

* remove PIMOSharedFPRMetric

Signed-off-by: jpcbertoldo <[email protected]>

* make torchmetrics compute avg by dft

Signed-off-by: jpcbertoldo <[email protected]>

* pre-commit hooks corrections

Signed-off-by: jpcbertoldo <[email protected]>

* correct numpy.trapezoid

Signed-off-by: jpcbertoldo <[email protected]>

---------

Signed-off-by: jpcbertoldo <[email protected]>
Co-authored-by: Samet Akcay <[email protected]>

* 🗑️ Remove numba (#2313)

* remove numba

Signed-off-by: Ashwin Vaidya <[email protected]>

* fix pre-commit checks

Signed-off-by: Ashwin Vaidya <[email protected]>

* add third-party-programs.txt

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* 🗑️ Remove unused methods (#2315)

* remove numba

Signed-off-by: Ashwin Vaidya <[email protected]>

* fix pre-commit checks

Signed-off-by: Ashwin Vaidya <[email protected]>

* remove all unused methods

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* PIMO: Port Numpy → Torch (#2316)

* remove numba

Signed-off-by: Ashwin Vaidya <[email protected]>

* fix pre-commit checks

Signed-off-by: Ashwin Vaidya <[email protected]>

* remove all unused methods

Signed-off-by: Ashwin Vaidya <[email protected]>

* replace numpy with torch

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* 🔨Refactor methods across files (#2321)

* remove numba

Signed-off-by: Ashwin Vaidya <[email protected]>

* fix pre-commit checks

Signed-off-by: Ashwin Vaidya <[email protected]>

* remove all unused methods

Signed-off-by: Ashwin Vaidya <[email protected]>

* replace numpy with torch

Signed-off-by: Ashwin Vaidya <[email protected]>

* refactor code

Signed-off-by: Ashwin Vaidya <[email protected]>

* refactor
move functional inside update
remove path from the metric

* Add changes from comments

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* Remove model to model comparison (#2325)

* rename to pimo

Signed-off-by: Ashwin Vaidya <[email protected]>

* minor refactor

Signed-off-by: Ashwin Vaidya <[email protected]>

* remove model to model comparison

Signed-off-by: Ashwin Vaidya <[email protected]>

* fix test

Signed-off-by: Ashwin Vaidya <[email protected]>

* PR comments

Signed-off-by: Ashwin Vaidya <[email protected]>

* Minor refactor

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* PR comments

Signed-off-by: Ashwin Vaidya <[email protected]>

* Remove unused enums

Signed-off-by: Ashwin Vaidya <[email protected]>

* update doc strings

Signed-off-by: Ashwin Vaidya <[email protected]>

* update param names

Signed-off-by: Ashwin Vaidya <[email protected]>

* add aupimo basic usage tutorial notebook (#2330)

* add aupimo basic usage tutorial notebook

Signed-off-by: jpcbertoldo <[email protected]>

* update scipy import

Signed-off-by: jpcbertoldo <[email protected]>

* add cite us

Signed-off-by: jpcbertoldo <[email protected]>

* minor

Signed-off-by: jpcbertoldo <[email protected]>

* modify texts and add illustration

Signed-off-by: jpcbertoldo <[email protected]>

* udpate working dir

Signed-off-by: jpcbertoldo <[email protected]>

---------

Signed-off-by: jpcbertoldo <[email protected]>

---------

Signed-off-by: jpcbertoldo <[email protected]>
Signed-off-by: Ashwin Vaidya <[email protected]>
Co-authored-by: Joao P C Bertoldo <[email protected]>
Co-authored-by: Samet Akcay <[email protected]>

* Makes batch size dynamic (#2339)

Made batch dimension of ONNX export dynamic when specifying input shape.

* Add pimo tutorial advanced i (fixed) (#2336)

* uset all padim features to make it deterministic

Signed-off-by: jpcbertoldo <[email protected]>

* add aupimo notebook advanced i

Signed-off-by: jpcbertoldo <[email protected]>

* update readme

Signed-off-by: jpcbertoldo <[email protected]>

* modify changelog

Signed-off-by: jpcbertoldo <[email protected]>

* correct readme

Signed-off-by: jpcbertoldo <[email protected]>

* correct again

Signed-off-by: jpcbertoldo <[email protected]>

* minor corrections

Signed-off-by: jpcbertoldo <[email protected]>

---------

Signed-off-by: jpcbertoldo <[email protected]>

* Pimo tutorials/02 advanced ii (#2347)

* uset all padim features to make it deterministic

Signed-off-by: jpcbertoldo <[email protected]>

* add aupimo notebook advanced i

Signed-off-by: jpcbertoldo <[email protected]>

* update readme

Signed-off-by: jpcbertoldo <[email protected]>

* modify changelog

Signed-off-by: jpcbertoldo <[email protected]>

* correct readme

Signed-off-by: jpcbertoldo <[email protected]>

* correct again

Signed-off-by: jpcbertoldo <[email protected]>

* minor corrections

Signed-off-by: jpcbertoldo <[email protected]>

* add aupimo notebook advanced ii (pimo curve and integration bounds)

Signed-off-by: jpcbertoldo <[email protected]>

* fix links

Signed-off-by: jpcbertoldo <[email protected]>

* correct change log

Signed-off-by: jpcbertoldo <[email protected]>

---------

Signed-off-by: jpcbertoldo <[email protected]>

* Create epic.yaml

* 🔨 Update the issue templates (#2363)

* Update epic.yaml

* Update epic.yaml

* Update epic.yaml

* Update epic.yaml

* Update task.yaml

* Create user_story.yaml

* Update epic.yaml

* Pimo tutorials/03 advanced iii (#2348)

* add aupimo notebook advanced iii (aupimo score of a random model)

Signed-off-by: jpcbertoldo <[email protected]>

* add cite us

Signed-off-by: jpcbertoldo <[email protected]>

* update notebooks readme

Signed-off-by: jpcbertoldo <[email protected]>

---------

Signed-off-by: jpcbertoldo <[email protected]>
Co-authored-by: Samet Akcay <[email protected]>

* 🔨 Deprecate try import and replace it with Lightning's package_available (#2373)

Replace try_import with lightnings package_available function

Signed-off-by: Samet Akcay <[email protected]>

* Refactor folder3d to avoid complex-structure (C901) issue (#2185)

* Refactored-make_folder3d_dataset-ruff-error-C901 (#1926)

Signed-off-by: sahusiddharth <[email protected]>

* Simplify folder 3d dataset (#2184)

---------

Signed-off-by: sahusiddharth <[email protected]>
Co-authored-by: Siddharth Sahu <[email protected]>

* 🚀 Add datumaro annotation dataloader (#2377)

* Add datumaro annotation dataloader

Signed-off-by: Ashwin Vaidya <[email protected]>

* Update changelog

Signed-off-by: Ashwin Vaidya <[email protected]>

* Add examples

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* Pimo tutorials/04 advanced iv  (#2352)

* add notebook 701e_aupimo_advanced_iv on load/save and statistical comparisons

Signed-off-by: jpcbertoldo <[email protected]>

* make `AUPIMOResult.num_thresholds` optional

Signed-off-by: jpcbertoldo <[email protected]>

* add aupimo notebook advanced iv (load/save and statistical tests)

Signed-off-by: jpcbertoldo <[email protected]>

* simplify cite us and mention intal

Signed-off-by: jpcbertoldo <[email protected]>

* fix readme

Signed-off-by: jpcbertoldo <[email protected]>

---------

Signed-off-by: jpcbertoldo <[email protected]>
Co-authored-by: Samet Akcay <[email protected]>

* 🐞 Defer OpenVINO import to avoid unnecessary warnings (#2385)

* Fix openvino import issue

Signed-off-by: Samet Akcay <[email protected]>

* Fix pre-commit issues

Signed-off-by: Samet Akcay <[email protected]>

---------

Signed-off-by: Samet Akcay <[email protected]>

* 🚀 Add VLM based Anomaly Model (#2344)

* [Draft] Llm on (#2165)

* Add TaskType Explanation

Signed-off-by: Bepitic <[email protected]>

* Add llm model

Signed-off-by: Bepitic <[email protected]>

* add ollama

Signed-off-by: Bepitic <[email protected]>

* better description for descr in title

Signed-off-by: Bepitic <[email protected]>

* add text of llm into imageResult visualization

* add text of llm into imageResult visualization

Signed-off-by: Bepitic <[email protected]>

* latest changes

Signed-off-by: Bepitic <[email protected]>

* add wip llava/llava_next

Signed-off-by: Bepitic <[email protected]>

* add init

Signed-off-by: Bepitic <[email protected]>

* add text of llm into imageResult visualization

Signed-off-by: Bepitic <[email protected]>

* latest changes

Signed-off-by: Bepitic <[email protected]>

* upd Lint

Signed-off-by: Bepitic <[email protected]>

* fix visualization with description

Signed-off-by: Bepitic <[email protected]>

* show the images every batch

Signed-off-by: Bepitic <[email protected]>

* fix docstring and error management

Signed-off-by: Bepitic <[email protected]>

* Add compatibility for TaskType.EXPLANATION.

Signed-off-by: Bepitic <[email protected]>

* Remove, show in the engine-Visualization.

* fix visualization and llm openai multishot.

* fix Circular import problem

* Add HugginFace To LLavaNext

Signed-off-by: Bepitic <[email protected]>

---------

Signed-off-by: Bepitic <[email protected]>

* 🔨 Scaffold for refactor (#2340)

* initial scafold

Signed-off-by: Ashwin Vaidya <[email protected]>

* Apply PR comments

Signed-off-by: Ashwin Vaidya <[email protected]>

* rename dir

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* Add ChatGPT (#2341)

* initial scafold

Signed-off-by: Ashwin Vaidya <[email protected]>

* Apply PR comments

Signed-off-by: Ashwin Vaidya <[email protected]>

* rename dir

Signed-off-by: Ashwin Vaidya <[email protected]>

* delete llm_ollama

Signed-off-by: Ashwin Vaidya <[email protected]>

* Add ChatGPT

Signed-off-by: Ashwin Vaidya <[email protected]>

* Add ChatGPT

Signed-off-by: Ashwin Vaidya <[email protected]>

* Remove LLM model

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* Add Huggingface (#2343)

* initial scafold

Signed-off-by: Ashwin Vaidya <[email protected]>

* Apply PR comments

Signed-off-by: Ashwin Vaidya <[email protected]>

* rename dir

Signed-off-by: Ashwin Vaidya <[email protected]>

* delete llm_ollama

Signed-off-by: Ashwin Vaidya <[email protected]>

* Add ChatGPT

Signed-off-by: Ashwin Vaidya <[email protected]>

* Add ChatGPT

Signed-off-by: Ashwin Vaidya <[email protected]>

* Remove LLM model

Signed-off-by: Ashwin Vaidya <[email protected]>

* Add transformers

Signed-off-by: Ashwin Vaidya <[email protected]>

* Remove llava

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* 🔨 Minor Refactor (#2345)

Refactor

Signed-off-by: Ashwin Vaidya <[email protected]>

* undo changes

Signed-off-by: Ashwin Vaidya <[email protected]>

* undo changes

Signed-off-by: Ashwin Vaidya <[email protected]>

* undo changes to image.py

Signed-off-by: Ashwin Vaidya <[email protected]>

* Add explanation visualizer (#2351)

* Add explanation visualizer

Signed-off-by: Ashwin Vaidya <[email protected]>

* bug-fix

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* 🔨 Allow setting API keys from env (#2353)

Allow setting API keys from env

Signed-off-by: Ashwin Vaidya <[email protected]>

* 🧪 Add tests (#2355)

* Add tests

Signed-off-by: Ashwin Vaidya <[email protected]>

* remove explanation task type

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* minor fixes

Signed-off-by: Ashwin Vaidya <[email protected]>

* Update changelog

Signed-off-by: Ashwin Vaidya <[email protected]>

* Fix tests

Signed-off-by: Ashwin Vaidya <[email protected]>

* Address PR comments

Signed-off-by: Ashwin Vaidya <[email protected]>

* update name

Signed-off-by: Ashwin Vaidya <[email protected]>

* Update src/anomalib/models/image/vlm_ad/lightning_model.py

Co-authored-by: Samet Akcay <[email protected]>

* update name

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Bepitic <[email protected]>
Signed-off-by: Ashwin Vaidya <[email protected]>
Co-authored-by: Paco <[email protected]>
Co-authored-by: Samet Akcay <[email protected]>

* Add ensembling methods for tiling to Anomalib (#1226)

* Fixed broken links in readme

* Fixed inference command in readme

* Add tiling for ensemble

* Add tests for tiling for ensemble

* Moved ensemble tiler to separate file

* Modify padim config for ensemble

* Add tiling to dataset

* Revert changes to train

* Add tiling to collate fn

* Fix tiling in collate

* Change val. function to protected

* Add tile number logic

* Move collate fn to separate file

* Update tests for tiler

* Add training loop for ensemble

* Add model input size setup

* Move ens config to separate file

* Revert mvtec modifications

* Remove unused imports in mvtec

* Add batch adjustment to untiling

* Add predict step to ensemble

* Add comment and docstring to tile joining function

* Move tile joining to separate function

* Add joining for all tiled data

* Add joining for all box data

* Refactor pred. joining as modular class

* Fix box joining

* Add label and score joining

* Add ensemble visualization

* Add end of predict hook

* Add metric computation

* Fix metric thresholds

* Add removal of individual visualization

* Add demo1 notebook

* Add docstrings and cleanup

* Add memory benchmark

* Add modular class for storing predictions

* Add metric to separate class

* Refactor to support prediction data class

* Rename predictions class

* Add filesystem predictions class

* Add resized predictions class

* Fix joiner for classification task

* Add page peak to memory benchmark

* Add global stats calculation

* Add docstrings to stats calculation

* Refactor joiner for pipeline

* Refactor stats into pipeline

* Refactor metrics as pipeline block

* Refactor visualization as pipeline block

* Refactor postprocessing into a pipeline

* Add normalization and thresholding on joined predictions

* Refactor tiler to accept config file

* Add smoothing of tile joins.

* Refactor ensemble datamodule preparation

* Remove unused changes in dataloader

* Fix metric configuration

* Fix box coordinates in joining

* Add ensemble callbacks preparation function

* Fix box prediction bug in postprocess

* Add ensemble params to config

* Refactor postprocessing.

* Refactor post-processing

* Refactor predictions

* Code cleanup

* Optimize prediction storage

* Make join smoothing configurable

* Cleanup before PR

* Fix stats pipeline

* Fix logging strings

* Fix memory benchmark

* Fix tiler issues

* Fix import issues

* Fix naming in metrics and visualization

* Fix cyclic import

* Make logging lazy

* Refactor tiler tests

* Added collate tiling tests

* Added ensemble helper functions tests

* Refactor for dummy ensemble config

* Refactor for dummy base config

* Add tests for prediction storage

* Add tests for prediction joiner

* Add tests for visualization

* Fix small issues in tests

* Add metrics test

* Add post-processing tests

* Fix tiler to work with different instance

* Move seed setting inside train loop

* Fix pipeline stats bug

* Rename ensemble config fixture

* Add pipeline tests

* Fix config in pipeline tests

* Add training script test

* Fix types and docstrings

* Move and rename to tiled_ensemble

* Fix bug in label joining.

* Remove memory benchmark

* Cleanup files

* Fix metrics setup

* Rename collate function

* Add license to test files

* Rename fixtures

* Add more comments to tiled ensemble training

* Add start of training log message

* Refactor tiler to have explicit arguments

* Refactor pred. storage to have explicit arguments

* Refactor metrics to have explicit arguments

* Refactor visualization to have explicit arguments

* Refactor post-processing to have explicit arguments

* Sort imports

* Add test ensemble script

* Fix join smoothing bug

* Add more documentation to doc-strings

* Remove unused import

* Add brief tiled ensemble documentation

* Update typehints

* Make training args more clear

* Revert addition of no threshold option.

* Refactor normalization and threshold config

* Remove tiled ensemble from docs index

* Add comments to clarify parts of ensemble config

* Improve ensemble config comments

* Add num_tiles attribute to tiler.

* Fix metrics process docstring

* Fix visualization bug and cover with test

* Replace strings with enum

* Improve comments in joiner.

* Fix bug when model doesn't have anomaly maps.

* Improve docstrings (types, clarify).

* Fix visualization tests

* Fix dict membership checks

* Add saving of ensemble config file

* Update test script args

* Cover test script with tests

* Update export warning

* Fix case when no test or val data

* Improve documentation images

* Add images for documentation

* Add codacy suggestion

* Refactor joiner to single class

* Refactor storage names and config

* Update normalization and threshold stage names

* Add transforms independent input size to models

Signed-off-by: blaz-r <[email protected]>

* Make collate function a datamodule attribute

Signed-off-by: blaz-r <[email protected]>

* Refactor tiled ensemble train into pipeline step

Signed-off-by: blaz-r <[email protected]>

* Refactor tiled ensemble prediction into pipeline step

Signed-off-by: blaz-r <[email protected]>

* Refactor tiled ensemble merging into pipeline step

Signed-off-by: blaz-r <[email protected]>

* Refactor tiled ensemble seam smoothing into pipeline step

Signed-off-by: blaz-r <[email protected]>

* Refactor tiled stats calculation into pipeline step

Signed-off-by: blaz-r <[email protected]>

* Fix ckpt loading when predicting on test set.

Signed-off-by: blaz-r <[email protected]>

* Add logging and add tqdm to pipeline steps.

Signed-off-by: blaz-r <[email protected]>

* Refactor normalization pipeline step

Signed-off-by: blaz-r <[email protected]>

* Refactor thresholding into new pipeline job

* Fix transforms issue when predicting with dataloader

* Add visualization as new pipeline step

* Add metrics as new pipeline step

* Format the code and address some lint problems

Signed-off-by: Blaz Rolih <[email protected]>

* Add code to skip test if test split is none

Signed-off-by: Blaz Rolih <[email protected]>

* Add accelerator to metrics and smoothing

Signed-off-by: Blaz Rolih <[email protected]>

* Make threshold acq helper function and add to threshold to metrics

Signed-off-by: Blaz Rolih <[email protected]>

* Make a separate test pipeline

Signed-off-by: Blaz Rolih <[email protected]>

* Restructure tiled ensemble files into directories

Signed-off-by: Blaz Rolih <[email protected]>

* Pipeline code cleanup

Signed-off-by: Blaz Rolih <[email protected]>

* Remove old tiled ensemble files

Signed-off-by: blaz-r <[email protected]>

* Remove old post processing files

Signed-off-by: blaz-r <[email protected]>

* Fix sigma value read in smoothing

Signed-off-by: blaz-r <[email protected]>

* Update stats calc and normalization

Signed-off-by: blaz-r <[email protected]>

* Update args naming convention

Signed-off-by: blaz-r <[email protected]>

* Refactor code for nice config

Signed-off-by: blaz-r <[email protected]>

* Update docs structure for new system

Signed-off-by: blaz-r <[email protected]>

* Cleanup train code

Signed-off-by: blaz-r <[email protected]>

* Fix test script args

Signed-off-by: blaz-r <[email protected]>

* Update box merging

Signed-off-by: blaz-r <[email protected]>

* Refactor helper function tests

Signed-off-by: blaz-r <[email protected]>

* Small changes in helper and engine

Signed-off-by: blaz-r <[email protected]>

* Refactor merging tests

Signed-off-by: blaz-r <[email protected]>

* Refactor tiling tests

Signed-off-by: blaz-r <[email protected]>

* Refactor metrics test

Signed-off-by: blaz-r <[email protected]>

* Add support for different threshold methods

Signed-off-by: blaz-r <[email protected]>

* Format tests

Signed-off-by: blaz-r <[email protected]>

* Change test to predict

Signed-off-by: blaz-r <[email protected]>

* Refactor stats calculation tests

Signed-off-by: blaz-r <[email protected]>

* Refactor prediction data tests

Signed-off-by: blaz-r <[email protected]>

* Update metrics tests

Signed-off-by: blaz-r <[email protected]>

* Move metrics tests to components

Signed-off-by: blaz-r <[email protected]>

* Refactor seam smoothing tests

Signed-off-by: blaz-r <[email protected]>

* Refactor normalization tests

Signed-off-by: blaz-r <[email protected]>

* Move mock stats to conftest

Signed-off-by: blaz-r <[email protected]>

* Fix typehints for generator

Signed-off-by: blaz-r <[email protected]>

* Refactor threshold tests

Signed-off-by: blaz-r <[email protected]>

* Temporarily disable box minmax

Signed-off-by: blaz-r <[email protected]>

* Add tiled ensemble integration test

Signed-off-by: blaz-r <[email protected]>

* Fix normalization tests and add additional merging test

Signed-off-by: blaz-r <[email protected]>

* Add tile collater tests

Signed-off-by: blaz-r <[email protected]>

* Change dataset in tests to dummy

Signed-off-by: blaz-r <[email protected]>

* Format and fix linter errors

Signed-off-by: blaz-r <[email protected]>

* Format and some cleanup

Signed-off-by: blaz-r <[email protected]>

* Rename predict to eval

Signed-off-by: blaz-r <[email protected]>

* Update docs for refactored version of code

Signed-off-by: blaz-r <[email protected]>

* Cleanup the docs

Signed-off-by: blaz-r <[email protected]>

* Update ensemble engine

Signed-off-by: blaz-r <[email protected]>

* Remove boxes from pipelines and tests

Signed-off-by: blaz-r <[email protected]>

* Fix TODO comment issue

Signed-off-by: blaz-r <[email protected]>

* Fix unused model in ens. engine

Signed-off-by: blaz-r <[email protected]>

* Fix path case in test

Signed-off-by: blaz-r <[email protected]>

* Change temporary dir to project_path

Signed-off-by: blaz-r <[email protected]>

* Change mvtec to MVTec in test path

Signed-off-by: Blaz Rolih <[email protected]>

---------

Signed-off-by: blaz-r <[email protected]>
Signed-off-by: Blaz Rolih <[email protected]>
Co-authored-by: Samet Akcay <[email protected]>

* 📚 Add training from a checkpoint example (#2389)

* Add training from a checkpoint example

Signed-off-by: Samet Akcay <[email protected]>

* Replace patchcore example with efficient-ad

Signed-off-by: Samet Akcay <[email protected]>

---------

Signed-off-by: Samet Akcay <[email protected]>

* Export experiment duration in seconds in CSV. (#2392)

* Export experiment duration in seconds in CSV.

Signed-off-by: Weilin Xu <[email protected]>

* Update CHANGELOG

Signed-off-by: Weilin Xu <[email protected]>

* Log fit and test durations separately.

Signed-off-by: Weilin Xu <[email protected]>

---------

Signed-off-by: Weilin Xu <[email protected]>
Co-authored-by: Samet Akcay <[email protected]>

* Make single GPU benchmarking 5x more efficient (#2390)

* Use SerialRunner if only one CUDA device is available.

Signed-off-by: Weilin Xu <[email protected]>

* Resolve PLR6201.

Signed-off-by: Weilin Xu <[email protected]>

* Update CHANGELOG.

Signed-off-by: Weilin Xu <[email protected]>

* Keep the same logging level in benchmarking.

Signed-off-by: Weilin Xu <[email protected]>

---------

Signed-off-by: Weilin Xu <[email protected]>
Co-authored-by: Samet Akcay <[email protected]>

* 🐞 Fix installation package issues (#2395)

* Update the coverage settings

Signed-off-by: Samet Akcay <[email protected]>

* Remove VlmAd's relative import

Signed-off-by: Samet Akcay <[email protected]>

* Revert relative imports

Signed-off-by: Samet Akcay <[email protected]>

* Add type checking

Signed-off-by: Samet Akcay <[email protected]>

---------

Signed-off-by: Samet Akcay <[email protected]>

* Export the flattened config in benchmark CSV. (#2391)

* Export the flattened config in benchmark CSV.

Signed-off-by: Weilin Xu <[email protected]>

* Update CHANGELOG

Signed-off-by: Weilin Xu <[email protected]>

* Reuse the existing flatten_dict().

Signed-off-by: Weilin Xu <[email protected]>

---------

Signed-off-by: Weilin Xu <[email protected]>
Co-authored-by: Samet Akcay <[email protected]>

* `v1.2.0` Release (#2397)

Prepare v1.2.0 release (#2396)

* Update changelog



* Update the version in __init__



---------

Signed-off-by: Samet Akcay <[email protected]>

* Bump Anomalib version to `2.0.0dev` in `main` (#2402)

Update __init__.py

* 🐞Replace package_available with module_available (#2407)

* ignore tiled ensemble for now

Signed-off-by: Samet Akcay <[email protected]>

* ollama version

Signed-off-by: Samet Akcay <[email protected]>

* Exclude tiled ensemble unit tests

Signed-off-by: Samet Akcay <[email protected]>

---------

Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: Samet Akcay <[email protected]>
Signed-off-by: Blaz Rolih <[email protected]>
Signed-off-by: jpcbertoldo <[email protected]>
Signed-off-by: Ashwin Vaidya <[email protected]>
Signed-off-by: sahusiddharth <[email protected]>
Signed-off-by: Bepitic <[email protected]>
Signed-off-by: blaz-r <[email protected]>
Signed-off-by: Weilin Xu <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Blaž Rolih <[email protected]>
Co-authored-by: Ashwin Vaidya <[email protected]>
Co-authored-by: Joao P C Bertoldo <[email protected]>
Co-authored-by: Marcus Pertlwieser <[email protected]>
Co-authored-by: Siddharth Sahu <[email protected]>
Co-authored-by: Paco <[email protected]>
Co-authored-by: Weilin Xu <[email protected]>
Co-authored-by: Harim Kang <[email protected]>
samet-akcay added a commit that referenced this pull request Jan 8, 2025
* Dataclasses and post-processing refactor (#2098)

* use dataclass for model in- and outputs

* split dataclass in image and video

* use dataclass in torch inferencer

* use dataclass in openvino inferencer

* add post_processor class

* remove default metrics from CLI

* export post processing

* add post processor to patchcore

* use named tuple for inference outputs

* validate and format inputs of PredictBatch

* update torch inference

* remove base inferencer inheritance

* update openvino inference

* fix visualization

* PredictBatch -> Batch

* post processor as callback

* use callback methods to apply post processing

* temporary fix for visualization

* add DatasetItem class

* fix pred_score shape and add __len__

* make batch iterable

* add in place replace method

* use dataset items in inference

* dataset_items -> items

* use namedtuple as torch model outputs

* formatting

* split dataclasses into input/output and image/video

* merge input and output classes

* use init_subclass for attribute checking

* add descriptor class for validation

* improve error handling

* DataClassDescriptor -> FieldDescriptor

* add is_optional method

* add input validation for torch image and batch

* use image and video dataclasses in library

* add more validation

* add validation

* make postprocessor configurable from engine

* fix post processing logic

* fix data tests

* remove detection task type

* fix more tests

* use separate normalization stats for image and pixel preds

* add sensitivity parameters to one class pp

* fix utils tests

* fix utils tests

* remove metric serialization test

* remove normalization and thresholding args

* set default post processor in base model

* remove manual threshold test

* fix remaining unit tests

* add post_processor to CLI args

* remove old post processing callbacks

* remove comment

* remove references to old normalization and thresholding callbacks

* remove reshape in openvino inferencer

* export lightning model directly

* make collate accessible from dataset

* fix tools integration tests

* add update method to dataclasses

* allow missing pred_score or anomaly_map in post processor

* fix exportable centercrop conversion

* fix model tests

* test all models

* fix efficient_ad

* post processor as model arg

* disable rkde tests

* fix winclip export

* add copyright notice

* add validation for numpy anomaly map

* fix getting started notebook

* remove hardcoded path

* update dataset notebooks

* update model notebooks

* fix logging notebooks

* fix model notebook

* Merge main and resolve conflicts (#2287)

* Reduce rich methods (#2283)

remove rich

Signed-off-by: Ashwin Vaidya <[email protected]>

* Refactor BaseThreshold to Threshold (#2278)

* Refactor BaseThreshold to Threshold

* Add relative import and add tests

Signed-off-by: Samet Akcay <[email protected]>

* Revert threshold.py to base.py

Signed-off-by: Samet Akcay <[email protected]>

* Revert threshold imports

Signed-off-by: Samet Akcay <[email protected]>

* Update tests/unit/metrics/threshold/test_threshold.py

Co-authored-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Samet Akcay <[email protected]>
Co-authored-by: Ashwin Vaidya <[email protected]>

* Enable Ruff Rules: PLW1514 and PLR6201 (#2284)

* pre-commit autoupdate

Signed-off-by: Samet Akcay <[email protected]>

* Enable preview feautures, and disable some of the updated features

* Add missing copyrights

Signed-off-by: Samet Akcay <[email protected]>

* Ignore copyrights in notebooks

* "PLW1514", # Add explicit encoding argument

Signed-off-by: Samet Akcay <[email protected]>

* "PLR6201", # Convert to set

Signed-off-by: Samet Akcay <[email protected]>

---------

Signed-off-by: Samet Akcay <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>
Signed-off-by: Samet Akcay <[email protected]>
Co-authored-by: Ashwin Vaidya <[email protected]>
Co-authored-by: Ashwin Vaidya <[email protected]>

* Rename Item to DatasetItem (#2289)

* 📚 Add docstrings to dataclasses (#2292)

* Reduce rich methods (#2283)

remove rich

Signed-off-by: Ashwin Vaidya <[email protected]>

* Refactor BaseThreshold to Threshold (#2278)

* Refactor BaseThreshold to Threshold

* Add relative import and add tests

Signed-off-by: Samet Akcay <[email protected]>

* Revert threshold.py to base.py

Signed-off-by: Samet Akcay <[email protected]>

* Revert threshold imports

Signed-off-by: Samet Akcay <[email protected]>

* Update tests/unit/metrics/threshold/test_threshold.py

Co-authored-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Samet Akcay <[email protected]>
Co-authored-by: Ashwin Vaidya <[email protected]>

* Enable Ruff Rules: PLW1514 and PLR6201 (#2284)

* pre-commit autoupdate

Signed-off-by: Samet Akcay <[email protected]>

* Enable preview feautures, and disable some of the updated features

* Add missing copyrights

Signed-off-by: Samet Akcay <[email protected]>

* Ignore copyrights in notebooks

* "PLW1514", # Add explicit encoding argument

Signed-off-by: Samet Akcay <[email protected]>

* "PLR6201", # Convert to set

Signed-off-by: Samet Akcay <[email protected]>

---------

Signed-off-by: Samet Akcay <[email protected]>

* Update docstring - FieldDescriptor

* Add docstring to generic.py

Signed-off-by: Samet Akcay <[email protected]>

* Add docstring to numpy.py

Signed-off-by: Samet Akcay <[email protected]>

* Add docstring to torch.py

Signed-off-by: Samet Akcay <[email protected]>

* Update src/anomalib/dataclasses/torch.py

Co-authored-by: Dick Ameln <[email protected]>

* Update src/anomalib/dataclasses/torch.py

Co-authored-by: Dick Ameln <[email protected]>

* Update src/anomalib/dataclasses/generic.py

Co-authored-by: Dick Ameln <[email protected]>

* Update src/anomalib/dataclasses/torch.py

Co-authored-by: Dick Ameln <[email protected]>

* Update src/anomalib/dataclasses/torch.py

Co-authored-by: Dick Ameln <[email protected]>

* Update src/anomalib/dataclasses/torch.py

Co-authored-by: Dick Ameln <[email protected]>

* Update src/anomalib/dataclasses/torch.py

Co-authored-by: Dick Ameln <[email protected]>

* Update src/anomalib/dataclasses/torch.py

Co-authored-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>
Signed-off-by: Samet Akcay <[email protected]>
Co-authored-by: Ashwin Vaidya <[email protected]>
Co-authored-by: Ashwin Vaidya <[email protected]>
Co-authored-by: Dick Ameln <[email protected]>

* Refactor and restructure anomalib.data (#2302)

* Move datamodules to datamodule sub-package

* Move datamodules to datamodule sub-package

* Split datamodules and datasets

* Restructure dataclasses to data

* Fix relative imports

* Use absolute imports

* Add datasets dir

* Add relative imports for torch datasets

* Update src/anomalib/data/datamodules/base/__init__.py

Co-authored-by: Ashwin Vaidya <[email protected]>

---------

Co-authored-by: Ashwin Vaidya <[email protected]>

* Restructure unit tests and fix ruff issues (#2306)

* Restructure data unit tests to follow the new data structure

* Fix ruff issues

* Add dataclass validators (#2307)

* Add validators

* Add depth validators to depth classes

* Add image validators to depth classes

* Add video validators to depth classes

* Add numpy validators and update dataclasses

* Run all the tests on the ci

* Fix the tests

* Created validator tests and added numpy video tests

* Add numpy image tests

* Add numpy depth tests

* Add torch validator tests

* Fix numpy validation tests

* Convet private _validate methods to public validate method

* Revert "Convet private _validate methods to public validate method"

This reverts commit 47f183a8495b13085f2046ccd719eb4d3c4add48.

* Convert private _validate methods to public validate method

* Remove batch_size arg from validators

* Remove anomaly_map from validators

* Use validators as mixins

* convert abstractmethods to static abstractmethods

* Move pred-score computation to model implementations

* Add missing pred_score implemenations in models

* Fix the numpy validation tests

Signed-off-by: Samet Akcay <[email protected]>

* Fix visualization tests

Signed-off-by: Samet Akcay <[email protected]>

* Add numpy video validator mixin to numpy video item, and remove validation methods

Signed-off-by: Samet Akcay <[email protected]>

* Add np.bool_ to validate np label

Signed-off-by: Samet Akcay <[email protected]>

---------

Signed-off-by: Samet Akcay <[email protected]>

* 🚀 Customisable Image Visualizer (#2334)

* Add validators

* Add depth validators to depth classes

* Add image validators to depth classes

* Add video validators to depth classes

* Add numpy validators and update dataclasses

* Run all the tests on the ci

* Fix the tests

* Created validator tests and added numpy video tests

* Add numpy image tests

* Add numpy depth tests

* Add torch validator tests

* Fix numpy validation tests

* Convet private _validate methods to public validate method

* Revert "Convet private _validate methods to public validate method"

This reverts commit 47f183a8495b13085f2046ccd719eb4d3c4add48.

* Convert private _validate methods to public validate method

* Remove batch_size arg from validators

* Remove anomaly_map from validators

* Use validators as mixins

* convert abstractmethods to static abstractmethods

* Move pred-score computation to model implementations

* Add missing pred_score implemenations in models

* Fix the numpy validation tests

Signed-off-by: Samet Akcay <[email protected]>

* Fix visualization tests

Signed-off-by: Samet Akcay <[email protected]>

* Add numpy video validator mixin to numpy video item, and remove validation methods

Signed-off-by: Samet Akcay <[email protected]>

* Add np.bool_ to validate np label

Signed-off-by: Samet Akcay <[email protected]>

* add convert_to_title_case function to path utils

* Add ImageVisualizer

Signed-off-by: Samet Akcay <[email protected]>

* Create image visualization functionals

Signed-off-by: Samet Akcay <[email protected]>

* Create image visualization class

Signed-off-by: Samet Akcay <[email protected]>

* Add a comment in visualize-item

Signed-off-by: Samet Akcay <[email protected]>

* Update functional.py

* Add warning for invalid overlays

Signed-off-by: Samet Akcay <[email protected]>

* Add overlay_mask function with fill and contour modes

Signed-off-by: Samet Akcay <[email protected]>

* Moved `visualize_image_item` to a new module

Signed-off-by: Samet Akcay <[email protected]>

* Fix typo in visualizer

Signed-off-by: Samet Akcay <[email protected]>

* Pass mask color to visualize_mask

Signed-off-by: Samet Akcay <[email protected]>

* Fix tests

Signed-off-by: Samet Akcay <[email protected]>

* Modify item_visualizer

Signed-off-by: Samet Akcay <[email protected]>

* Update visualize item

Signed-off-by: Samet Akcay <[email protected]>

* Update the item visualization

Signed-off-by: Samet Akcay <[email protected]>

* Update the item visualization

Signed-off-by: Samet Akcay <[email protected]>

* Fix tests

Signed-off-by: Samet Akcay <[email protected]>

---------

Signed-off-by: Samet Akcay <[email protected]>
Signed-off-by: Samet Akcay <[email protected]>
Co-authored-by: Samet Akcay <[email protected]>

* Merge main the feature branch. (#2376)

* Update timm requirement from <=1.0.7,>=1.0.7 to >=1.0.7,<=1.0.9 (#2274)

* Update timm requirement from <=1.0.7,>=1.0.7 to >=1.0.7,<=1.0.9

Updates the requirements on [timm](https://github.com/huggingface/pytorch-image-models) to permit the latest version.
- [Release notes](https://github.com/huggingface/pytorch-image-models/releases)
- [Commits](https://github.com/huggingface/pytorch-image-models/compare/v1.0.7...v1.0.9)

---
updated-dependencies:
- dependency-name: timm
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

* Update pyproject.toml

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Samet Akcay <[email protected]>

* 🐞Update `setuptools` requirement for PEP 660 support (#2320)

Update setup tools

Signed-off-by: Samet Akcay <[email protected]>

* Fix transforms for draem, dsr and rkde (#2324)

Signed-off-by: Blaz Rolih <[email protected]>

* Add check before loading metrics data from checkpoint (#2323)

Add check before loading from checkpoint

Signed-off-by: Blaz Rolih <[email protected]>
Co-authored-by: Samet Akcay <[email protected]>

* Add PIMO (#2329)

* PIMO (#1726)

* update

Signed-off-by: jpcbertoldo <[email protected]>

* test binclf curves numpy and numba and fixes

Signed-off-by: jpcbertoldo <[email protected]>

* correct som docstrings

Signed-off-by: jpcbertoldo <[email protected]>

* torch interface and tests

Signed-off-by: jpcbertoldo <[email protected]>

* torch interface and tests

Signed-off-by: jpcbertoldo <[email protected]>

* constants regrouped in dataclass as class vars

Signed-off-by: jpcbertoldo <[email protected]>

* result class was unneccesary for per_image_binclf_curve

Signed-off-by: jpcbertoldo <[email protected]>

* factorize function _get_threshs_minmax_linspace

Signed-off-by: jpcbertoldo <[email protected]>

* small docs fixes

Signed-off-by: jpcbertoldo <[email protected]>

* add pimo numpy version and test

Signed-off-by: jpcbertoldo <[email protected]>

* move validation

Signed-off-by: jpcbertoldo <[email protected]>

* add `shared_fpr_metric` option

Signed-off-by: jpcbertoldo <[email protected]>

* add pimo torch functional version and test

Signed-off-by: jpcbertoldo <[email protected]>

* add torchmetrics interface and test

Signed-off-by: jpcbertoldo <[email protected]>

* renames and put things in init

Signed-off-by: jpcbertoldo <[email protected]>

* validate inputs in result objects

Signed-off-by: jpcbertoldo <[email protected]>

* result objects to from dict and tests

Signed-off-by: jpcbertoldo <[email protected]>

* add save and load methods to result objects and test

Signed-off-by: jpcbertoldo <[email protected]>

* refactor validations and minor changes

Signed-off-by: jpcbertoldo <[email protected]>

* test result objects' properties

Signed-off-by: jpcbertoldo <[email protected]>

* minor refactors

Signed-off-by: jpcbertoldo <[email protected]>

* add missing docstrings

Signed-off-by: jpcbertoldo <[email protected]>

* minore vocabulary fix for consistency

Signed-off-by: jpcbertoldo <[email protected]>

* add per image scores statistics and test it

Signed-off-by: jpcbertoldo <[email protected]>

* refactor constants notation

Signed-off-by: jpcbertoldo <[email protected]>

* add stats tests and test it

Signed-off-by: jpcbertoldo <[email protected]>

* change the meaning of AUPIMO.num_thresh

Signed-off-by: jpcbertoldo <[email protected]>

* interface to format pairwise test results

Signed-off-by: jpcbertoldo <[email protected]>

* improve doc

Signed-off-by: jpcbertoldo <[email protected]>

* add optional `paths` to result objects and some minor fixes and refactors

Signed-off-by: jpcbertoldo <[email protected]>

* remove frozen from dataclasses and some done todos

Signed-off-by: jpcbertoldo <[email protected]>

* review headers

Signed-off-by: jpcbertoldo <[email protected]>

* doc modifs

Signed-off-by: jpcbertoldo <[email protected]>

* refactor `score_less_than_thresh` in `_binclf_one_curve_python`

Signed-off-by: jpcbertoldo <[email protected]>

* correct license comments

Signed-off-by: jpcbertoldo <[email protected]>

* fix doc

Signed-off-by: jpcbertoldo <[email protected]>

* numba as extra requirement

Signed-off-by: jpcbertoldo <[email protected]>

* refactor copyrights from jpcbertoldo

Signed-off-by: jpcbertoldo <[email protected]>

* remove from __future__ import annotations

Signed-off-by: jpcbertoldo <[email protected]>

* refactor validations names

Signed-off-by: jpcbertoldo <[email protected]>

* dedupe file path validation

Signed-off-by: jpcbertoldo <[email protected]>

* fix tests

Signed-off-by: jpcbertoldo <[email protected]>

* Add todo

Signed-off-by: jpcbertoldo <[email protected]>

* refactor enums

Signed-off-by: jpcbertoldo <[email protected]>

* only logger.warning

Signed-off-by: jpcbertoldo <[email protected]>

* refactor test imports

Signed-off-by: jpcbertoldo <[email protected]>

* refactor docs

Signed-off-by: jpcbertoldo <[email protected]>

* refactor some docs

Signed-off-by: jpcbertoldo <[email protected]>

* correct pre commit errors

Signed-off-by: jpcbertoldo <[email protected]>

* remove author tag

Signed-off-by: jpcbertoldo <[email protected]>

* add thrid party program

Signed-off-by: jpcbertoldo <[email protected]>

* Update src/anomalib/metrics/per_image/pimo.py

* move HAS_NUMBA

Signed-off-by: jpcbertoldo <[email protected]>

* remove PIMOSharedFPRMetric

Signed-off-by: jpcbertoldo <[email protected]>

* make torchmetrics compute avg by dft

Signed-off-by: jpcbertoldo <[email protected]>

* pre-commit hooks corrections

Signed-off-by: jpcbertoldo <[email protected]>

* correct numpy.trapezoid

Signed-off-by: jpcbertoldo <[email protected]>

---------

Signed-off-by: jpcbertoldo <[email protected]>
Co-authored-by: Samet Akcay <[email protected]>

* 🗑️ Remove numba (#2313)

* remove numba

Signed-off-by: Ashwin Vaidya <[email protected]>

* fix pre-commit checks

Signed-off-by: Ashwin Vaidya <[email protected]>

* add third-party-programs.txt

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* 🗑️ Remove unused methods (#2315)

* remove numba

Signed-off-by: Ashwin Vaidya <[email protected]>

* fix pre-commit checks

Signed-off-by: Ashwin Vaidya <[email protected]>

* remove all unused methods

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* PIMO: Port Numpy → Torch (#2316)

* remove numba

Signed-off-by: Ashwin Vaidya <[email protected]>

* fix pre-commit checks

Signed-off-by: Ashwin Vaidya <[email protected]>

* remove all unused methods

Signed-off-by: Ashwin Vaidya <[email protected]>

* replace numpy with torch

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* 🔨Refactor methods across files (#2321)

* remove numba

Signed-off-by: Ashwin Vaidya <[email protected]>

* fix pre-commit checks

Signed-off-by: Ashwin Vaidya <[email protected]>

* remove all unused methods

Signed-off-by: Ashwin Vaidya <[email protected]>

* replace numpy with torch

Signed-off-by: Ashwin Vaidya <[email protected]>

* refactor code

Signed-off-by: Ashwin Vaidya <[email protected]>

* refactor
move functional inside update
remove path from the metric

* Add changes from comments

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* Remove model to model comparison (#2325)

* rename to pimo

Signed-off-by: Ashwin Vaidya <[email protected]>

* minor refactor

Signed-off-by: Ashwin Vaidya <[email protected]>

* remove model to model comparison

Signed-off-by: Ashwin Vaidya <[email protected]>

* fix test

Signed-off-by: Ashwin Vaidya <[email protected]>

* PR comments

Signed-off-by: Ashwin Vaidya <[email protected]>

* Minor refactor

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* PR comments

Signed-off-by: Ashwin Vaidya <[email protected]>

* Remove unused enums

Signed-off-by: Ashwin Vaidya <[email protected]>

* update doc strings

Signed-off-by: Ashwin Vaidya <[email protected]>

* update param names

Signed-off-by: Ashwin Vaidya <[email protected]>

* add aupimo basic usage tutorial notebook (#2330)

* add aupimo basic usage tutorial notebook

Signed-off-by: jpcbertoldo <[email protected]>

* update scipy import

Signed-off-by: jpcbertoldo <[email protected]>

* add cite us

Signed-off-by: jpcbertoldo <[email protected]>

* minor

Signed-off-by: jpcbertoldo <[email protected]>

* modify texts and add illustration

Signed-off-by: jpcbertoldo <[email protected]>

* udpate working dir

Signed-off-by: jpcbertoldo <[email protected]>

---------

Signed-off-by: jpcbertoldo <[email protected]>

---------

Signed-off-by: jpcbertoldo <[email protected]>
Signed-off-by: Ashwin Vaidya <[email protected]>
Co-authored-by: Joao P C Bertoldo <[email protected]>
Co-authored-by: Samet Akcay <[email protected]>

* Makes batch size dynamic (#2339)

Made batch dimension of ONNX export dynamic when specifying input shape.

* Add pimo tutorial advanced i (fixed) (#2336)

* uset all padim features to make it deterministic

Signed-off-by: jpcbertoldo <[email protected]>

* add aupimo notebook advanced i

Signed-off-by: jpcbertoldo <[email protected]>

* update readme

Signed-off-by: jpcbertoldo <[email protected]>

* modify changelog

Signed-off-by: jpcbertoldo <[email protected]>

* correct readme

Signed-off-by: jpcbertoldo <[email protected]>

* correct again

Signed-off-by: jpcbertoldo <[email protected]>

* minor corrections

Signed-off-by: jpcbertoldo <[email protected]>

---------

Signed-off-by: jpcbertoldo <[email protected]>

* Pimo tutorials/02 advanced ii (#2347)

* uset all padim features to make it deterministic

Signed-off-by: jpcbertoldo <[email protected]>

* add aupimo notebook advanced i

Signed-off-by: jpcbertoldo <[email protected]>

* update readme

Signed-off-by: jpcbertoldo <[email protected]>

* modify changelog

Signed-off-by: jpcbertoldo <[email protected]>

* correct readme

Signed-off-by: jpcbertoldo <[email protected]>

* correct again

Signed-off-by: jpcbertoldo <[email protected]>

* minor corrections

Signed-off-by: jpcbertoldo <[email protected]>

* add aupimo notebook advanced ii (pimo curve and integration bounds)

Signed-off-by: jpcbertoldo <[email protected]>

* fix links

Signed-off-by: jpcbertoldo <[email protected]>

* correct change log

Signed-off-by: jpcbertoldo <[email protected]>

---------

Signed-off-by: jpcbertoldo <[email protected]>

* Create epic.yaml

* 🔨 Update the issue templates (#2363)

* Update epic.yaml

* Update epic.yaml

* Update epic.yaml

* Update epic.yaml

* Update task.yaml

* Create user_story.yaml

* Update epic.yaml

* Pimo tutorials/03 advanced iii (#2348)

* add aupimo notebook advanced iii (aupimo score of a random model)

Signed-off-by: jpcbertoldo <[email protected]>

* add cite us

Signed-off-by: jpcbertoldo <[email protected]>

* update notebooks readme

Signed-off-by: jpcbertoldo <[email protected]>

---------

Signed-off-by: jpcbertoldo <[email protected]>
Co-authored-by: Samet Akcay <[email protected]>

* 🔨 Deprecate try import and replace it with Lightning's package_available (#2373)

Replace try_import with lightnings package_available function

Signed-off-by: Samet Akcay <[email protected]>

* Refactor folder3d to avoid complex-structure (C901) issue (#2185)

* Refactored-make_folder3d_dataset-ruff-error-C901 (#1926)

Signed-off-by: sahusiddharth <[email protected]>

* Simplify folder 3d dataset (#2184)

---------

Signed-off-by: sahusiddharth <[email protected]>
Co-authored-by: Siddharth Sahu <[email protected]>

---------

Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: Samet Akcay <[email protected]>
Signed-off-by: Blaz Rolih <[email protected]>
Signed-off-by: jpcbertoldo <[email protected]>
Signed-off-by: Ashwin Vaidya <[email protected]>
Signed-off-by: sahusiddharth <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Blaž Rolih <[email protected]>
Co-authored-by: Ashwin Vaidya <[email protected]>
Co-authored-by: Joao P C Bertoldo <[email protected]>
Co-authored-by: Marcus Pertlwieser <[email protected]>
Co-authored-by: Siddharth Sahu <[email protected]>

* Metrics redesign (#2326)

* refactor metrics callback

* add Evaluator class

* remove unused import

* add AnomalibMetric base class

* cleanup

* add create_anomalib_metric function

* use new AnomalibMetric class

* verify keys when updating metric

* use anomalib PR curve for f1max

* replace evaluator with metrics arg

* revert removing exportable transform method

* fix unit tests

* add kwargs to lightning models

* fix pre-commit issues

* remove kwargs key from update config

* add Evaluator to metrics init

* set default evaluator for image-only models

* fix cfa tests

* fix model tests

* update changelog

* remove tests of deprecated callback modules

* fix engine tests

* fix 201 notebook

* fix 600 notebook

* add default evaluator to fastflow

* revert cfa changes and fix pred score computation

* simplify evaluator argument

* validate metrics in evaluator

* remove unused import

* fix pred_label shape validation

* fix method name

* fix pred_label validator

* update validator tests

* fix method name in fastflow

* add AnomalibMetric functionality to PIMO

* add optional default fields and implement for pimo

* update aupimo notebooks

* use explicit args in lightning model signature

* remove kwargs from evaluator

* add _resolve_evaluator method

* fix config upgrade test

* do not force pypi install in mlflow notebook

* do not force pypi install in mlflow notebook

* 🚀 Add `PreProcessor` to `AnomalyModule` (#2358)

* Created pre-processor

Signed-off-by: Samet Akcay <[email protected]>

* Rename transforms to transform in pre-processor

Signed-off-by: Samet Akcay <[email protected]>

* Remove transforms from datamodules

Signed-off-by: Samet Akcay <[email protected]>

* Remove transforms from datasets

Signed-off-by: Samet Akcay <[email protected]>

* Remove setup_transforms from Engine

Signed-off-by: Samet Akcay <[email protected]>

* Add preprocessor to AnomalyModule and models

Signed-off-by: Samet Akcay <[email protected]>

* Fix tests

Signed-off-by: Samet Akcay <[email protected]>

* Remove self._transform from AnomalyModule

Signed-off-by: Samet Akcay <[email protected]>

* revert transforms in datasets

Signed-off-by: Samet Akcay <[email protected]>

* fix efficient_ad and engine.config tests

Signed-off-by: Samet Akcay <[email protected]>

* Update the upgrade tests

Signed-off-by: Samet Akcay <[email protected]>

* Revert on_load_checkpoint hook to AnomalyModule

Signed-off-by: Samet Akcay <[email protected]>

* Remove exportable transform from anomaly module and move to pre-processor

Signed-off-by: Samet Akcay <[email protected]>

* Add pre-processor to the model graph

Signed-off-by: Samet Akcay <[email protected]>

* Add docstring to pre-processor class

Signed-off-by: Samet Akcay <[email protected]>

* Fix win-clip tests

Signed-off-by: Samet Akcay <[email protected]>

* Update notebooks

Signed-off-by: Samet Akcay <[email protected]>

* Split the forward logic and move the training to model hooks

Signed-off-by: Samet Akcay <[email protected]>

* Set data transforms from preprocessor

Signed-off-by: Samet Akcay <[email protected]>

* Update the docstrings

Signed-off-by: Samet Akcay <[email protected]>

* Get stage transforms in setup of pre-processor

Signed-off-by: Samet Akcay <[email protected]>

* Revert data config yaml files

Signed-off-by: Samet Akcay <[email protected]>

* Revert datamodules

Signed-off-by: Samet Akcay <[email protected]>

* Revert datasets

Signed-off-by: Samet Akcay <[email protected]>

* Revert notebooks

Signed-off-by: Samet Akcay <[email protected]>

* remove padim preprocessor

Signed-off-by: Samet Akcay <[email protected]>

* Update the setup logic in pre-processor

Signed-off-by: Samet Akcay <[email protected]>

* Revert datamodules

Signed-off-by: Samet Akcay <[email protected]>

* Set datamodule transforms property from preprocessor

Signed-off-by: Samet Akcay <[email protected]>

* Revert v1 upgrade tool

Signed-off-by: Samet Akcay <[email protected]>

* Fix aupimo notebooks

Signed-off-by: Samet Akcay <[email protected]>

* Add pre-processor unit tests

Signed-off-by: Samet Akcay <[email protected]>

* Increase the test coverage for PreProcessor

Signed-off-by: Samet Akcay <[email protected]>

* Add option to disable pre-processor

Signed-off-by: Samet Akcay <[email protected]>

* Split setup_transforms to setup_datamodule_transforms and setup_dataloader_transforms

Signed-off-by: Samet Akcay <[email protected]>

* Replace batch.update with in-place batch transforms

Signed-off-by: Samet Akcay <[email protected]>

* Remove logger.warning when the default pre-processor is used

Signed-off-by: Samet Akcay <[email protected]>

* Use predict-transforms explicitly

Signed-off-by: Samet Akcay <[email protected]>

* remove pre-processor and configure_transforms from export mixin

Signed-off-by: Samet Akcay <[email protected]>

* Rename set_datamodule_transform to set_datamodule_stage_transform

Signed-off-by: Samet Akcay <[email protected]>

* Remove transforms from datamodules

Signed-off-by: Samet Akcay <[email protected]>

* Remove transforms from datamodules

Signed-off-by: Samet Akcay <[email protected]>

* Remove transforms from datamodules

Signed-off-by: Samet Akcay <[email protected]>

* Remove transforms from datamodules

Signed-off-by: Samet Akcay <[email protected]>

* Remove transforms from datamodules

Signed-off-by: Samet Akcay <[email protected]>

* Remove transform related keys from data configs

Signed-off-by: Samet Akcay <[email protected]>

* update preprocessor tests

Signed-off-by: Samet Akcay <[email protected]>

* Remove setup method from the model implementations

Signed-off-by: Samet Akcay <[email protected]>

* Remove image size from datamodules in jupyter notebooks

Signed-off-by: Samet Akcay <[email protected]>

* Modify folder notebook to acccess the batch from dataset not dataloader

Signed-off-by: Samet Akcay <[email protected]>

* Create resolve preprocessor method

Signed-off-by: Samet Akcay <[email protected]>

* Return  if  is

Signed-off-by: Samet Akcay <[email protected]>

* Rename self.exportable_transform to self.export_transform

Signed-off-by: Samet Akcay <[email protected]>

* Remove set_datamodule_transforms

Signed-off-by: Samet Akcay <[email protected]>

* remove hooks as they are not needed anymore

Signed-off-by: Samet Akcay <[email protected]>

* Fix pre-processor tests

Signed-off-by: Samet Akcay <[email protected]>

* remove transform getter util function

Signed-off-by: Samet Akcay <[email protected]>

* Fix transform dict to setup datamodule transforms

Signed-off-by: Samet Akcay <[email protected]>

* Fix Fastflow notebook

Signed-off-by: Samet Akcay <[email protected]>

---------

Signed-off-by: Samet Akcay <[email protected]>

* Update v2 with the recent changes on main (#2421)

* Update timm requirement from <=1.0.7,>=1.0.7 to >=1.0.7,<=1.0.9 (#2274)

* Update timm requirement from <=1.0.7,>=1.0.7 to >=1.0.7,<=1.0.9

Updates the requirements on [timm](https://github.com/huggingface/pytorch-image-models) to permit the latest version.
- [Release notes](https://github.com/huggingface/pytorch-image-models/releases)
- [Commits](https://github.com/huggingface/pytorch-image-models/compare/v1.0.7...v1.0.9)

---
updated-dependencies:
- dependency-name: timm
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

* Update pyproject.toml

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Samet Akcay <[email protected]>

* 🐞Update `setuptools` requirement for PEP 660 support (#2320)

Update setup tools

Signed-off-by: Samet Akcay <[email protected]>

* Fix transforms for draem, dsr and rkde (#2324)

Signed-off-by: Blaz Rolih <[email protected]>

* Add check before loading metrics data from checkpoint (#2323)

Add check before loading from checkpoint

Signed-off-by: Blaz Rolih <[email protected]>
Co-authored-by: Samet Akcay <[email protected]>

* Add PIMO (#2329)

* PIMO (#1726)

* update

Signed-off-by: jpcbertoldo <[email protected]>

* test binclf curves numpy and numba and fixes

Signed-off-by: jpcbertoldo <[email protected]>

* correct som docstrings

Signed-off-by: jpcbertoldo <[email protected]>

* torch interface and tests

Signed-off-by: jpcbertoldo <[email protected]>

* torch interface and tests

Signed-off-by: jpcbertoldo <[email protected]>

* constants regrouped in dataclass as class vars

Signed-off-by: jpcbertoldo <[email protected]>

* result class was unneccesary for per_image_binclf_curve

Signed-off-by: jpcbertoldo <[email protected]>

* factorize function _get_threshs_minmax_linspace

Signed-off-by: jpcbertoldo <[email protected]>

* small docs fixes

Signed-off-by: jpcbertoldo <[email protected]>

* add pimo numpy version and test

Signed-off-by: jpcbertoldo <[email protected]>

* move validation

Signed-off-by: jpcbertoldo <[email protected]>

* add `shared_fpr_metric` option

Signed-off-by: jpcbertoldo <[email protected]>

* add pimo torch functional version and test

Signed-off-by: jpcbertoldo <[email protected]>

* add torchmetrics interface and test

Signed-off-by: jpcbertoldo <[email protected]>

* renames and put things in init

Signed-off-by: jpcbertoldo <[email protected]>

* validate inputs in result objects

Signed-off-by: jpcbertoldo <[email protected]>

* result objects to from dict and tests

Signed-off-by: jpcbertoldo <[email protected]>

* add save and load methods to result objects and test

Signed-off-by: jpcbertoldo <[email protected]>

* refactor validations and minor changes

Signed-off-by: jpcbertoldo <[email protected]>

* test result objects' properties

Signed-off-by: jpcbertoldo <[email protected]>

* minor refactors

Signed-off-by: jpcbertoldo <[email protected]>

* add missing docstrings

Signed-off-by: jpcbertoldo <[email protected]>

* minore vocabulary fix for consistency

Signed-off-by: jpcbertoldo <[email protected]>

* add per image scores statistics and test it

Signed-off-by: jpcbertoldo <[email protected]>

* refactor constants notation

Signed-off-by: jpcbertoldo <[email protected]>

* add stats tests and test it

Signed-off-by: jpcbertoldo <[email protected]>

* change the meaning of AUPIMO.num_thresh

Signed-off-by: jpcbertoldo <[email protected]>

* interface to format pairwise test results

Signed-off-by: jpcbertoldo <[email protected]>

* improve doc

Signed-off-by: jpcbertoldo <[email protected]>

* add optional `paths` to result objects and some minor fixes and refactors

Signed-off-by: jpcbertoldo <[email protected]>

* remove frozen from dataclasses and some done todos

Signed-off-by: jpcbertoldo <[email protected]>

* review headers

Signed-off-by: jpcbertoldo <[email protected]>

* doc modifs

Signed-off-by: jpcbertoldo <[email protected]>

* refactor `score_less_than_thresh` in `_binclf_one_curve_python`

Signed-off-by: jpcbertoldo <[email protected]>

* correct license comments

Signed-off-by: jpcbertoldo <[email protected]>

* fix doc

Signed-off-by: jpcbertoldo <[email protected]>

* numba as extra requirement

Signed-off-by: jpcbertoldo <[email protected]>

* refactor copyrights from jpcbertoldo

Signed-off-by: jpcbertoldo <[email protected]>

* remove from __future__ import annotations

Signed-off-by: jpcbertoldo <[email protected]>

* refactor validations names

Signed-off-by: jpcbertoldo <[email protected]>

* dedupe file path validation

Signed-off-by: jpcbertoldo <[email protected]>

* fix tests

Signed-off-by: jpcbertoldo <[email protected]>

* Add todo

Signed-off-by: jpcbertoldo <[email protected]>

* refactor enums

Signed-off-by: jpcbertoldo <[email protected]>

* only logger.warning

Signed-off-by: jpcbertoldo <[email protected]>

* refactor test imports

Signed-off-by: jpcbertoldo <[email protected]>

* refactor docs

Signed-off-by: jpcbertoldo <[email protected]>

* refactor some docs

Signed-off-by: jpcbertoldo <[email protected]>

* correct pre commit errors

Signed-off-by: jpcbertoldo <[email protected]>

* remove author tag

Signed-off-by: jpcbertoldo <[email protected]>

* add thrid party program

Signed-off-by: jpcbertoldo <[email protected]>

* Update src/anomalib/metrics/per_image/pimo.py

* move HAS_NUMBA

Signed-off-by: jpcbertoldo <[email protected]>

* remove PIMOSharedFPRMetric

Signed-off-by: jpcbertoldo <[email protected]>

* make torchmetrics compute avg by dft

Signed-off-by: jpcbertoldo <[email protected]>

* pre-commit hooks corrections

Signed-off-by: jpcbertoldo <[email protected]>

* correct numpy.trapezoid

Signed-off-by: jpcbertoldo <[email protected]>

---------

Signed-off-by: jpcbertoldo <[email protected]>
Co-authored-by: Samet Akcay <[email protected]>

* 🗑️ Remove numba (#2313)

* remove numba

Signed-off-by: Ashwin Vaidya <[email protected]>

* fix pre-commit checks

Signed-off-by: Ashwin Vaidya <[email protected]>

* add third-party-programs.txt

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* 🗑️ Remove unused methods (#2315)

* remove numba

Signed-off-by: Ashwin Vaidya <[email protected]>

* fix pre-commit checks

Signed-off-by: Ashwin Vaidya <[email protected]>

* remove all unused methods

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* PIMO: Port Numpy → Torch (#2316)

* remove numba

Signed-off-by: Ashwin Vaidya <[email protected]>

* fix pre-commit checks

Signed-off-by: Ashwin Vaidya <[email protected]>

* remove all unused methods

Signed-off-by: Ashwin Vaidya <[email protected]>

* replace numpy with torch

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* 🔨Refactor methods across files (#2321)

* remove numba

Signed-off-by: Ashwin Vaidya <[email protected]>

* fix pre-commit checks

Signed-off-by: Ashwin Vaidya <[email protected]>

* remove all unused methods

Signed-off-by: Ashwin Vaidya <[email protected]>

* replace numpy with torch

Signed-off-by: Ashwin Vaidya <[email protected]>

* refactor code

Signed-off-by: Ashwin Vaidya <[email protected]>

* refactor
move functional inside update
remove path from the metric

* Add changes from comments

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* Remove model to model comparison (#2325)

* rename to pimo

Signed-off-by: Ashwin Vaidya <[email protected]>

* minor refactor

Signed-off-by: Ashwin Vaidya <[email protected]>

* remove model to model comparison

Signed-off-by: Ashwin Vaidya <[email protected]>

* fix test

Signed-off-by: Ashwin Vaidya <[email protected]>

* PR comments

Signed-off-by: Ashwin Vaidya <[email protected]>

* Minor refactor

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* PR comments

Signed-off-by: Ashwin Vaidya <[email protected]>

* Remove unused enums

Signed-off-by: Ashwin Vaidya <[email protected]>

* update doc strings

Signed-off-by: Ashwin Vaidya <[email protected]>

* update param names

Signed-off-by: Ashwin Vaidya <[email protected]>

* add aupimo basic usage tutorial notebook (#2330)

* add aupimo basic usage tutorial notebook

Signed-off-by: jpcbertoldo <[email protected]>

* update scipy import

Signed-off-by: jpcbertoldo <[email protected]>

* add cite us

Signed-off-by: jpcbertoldo <[email protected]>

* minor

Signed-off-by: jpcbertoldo <[email protected]>

* modify texts and add illustration

Signed-off-by: jpcbertoldo <[email protected]>

* udpate working dir

Signed-off-by: jpcbertoldo <[email protected]>

---------

Signed-off-by: jpcbertoldo <[email protected]>

---------

Signed-off-by: jpcbertoldo <[email protected]>
Signed-off-by: Ashwin Vaidya <[email protected]>
Co-authored-by: Joao P C Bertoldo <[email protected]>
Co-authored-by: Samet Akcay <[email protected]>

* Makes batch size dynamic (#2339)

Made batch dimension of ONNX export dynamic when specifying input shape.

* Add pimo tutorial advanced i (fixed) (#2336)

* uset all padim features to make it deterministic

Signed-off-by: jpcbertoldo <[email protected]>

* add aupimo notebook advanced i

Signed-off-by: jpcbertoldo <[email protected]>

* update readme

Signed-off-by: jpcbertoldo <[email protected]>

* modify changelog

Signed-off-by: jpcbertoldo <[email protected]>

* correct readme

Signed-off-by: jpcbertoldo <[email protected]>

* correct again

Signed-off-by: jpcbertoldo <[email protected]>

* minor corrections

Signed-off-by: jpcbertoldo <[email protected]>

---------

Signed-off-by: jpcbertoldo <[email protected]>

* Pimo tutorials/02 advanced ii (#2347)

* uset all padim features to make it deterministic

Signed-off-by: jpcbertoldo <[email protected]>

* add aupimo notebook advanced i

Signed-off-by: jpcbertoldo <[email protected]>

* update readme

Signed-off-by: jpcbertoldo <[email protected]>

* modify changelog

Signed-off-by: jpcbertoldo <[email protected]>

* correct readme

Signed-off-by: jpcbertoldo <[email protected]>

* correct again

Signed-off-by: jpcbertoldo <[email protected]>

* minor corrections

Signed-off-by: jpcbertoldo <[email protected]>

* add aupimo notebook advanced ii (pimo curve and integration bounds)

Signed-off-by: jpcbertoldo <[email protected]>

* fix links

Signed-off-by: jpcbertoldo <[email protected]>

* correct change log

Signed-off-by: jpcbertoldo <[email protected]>

---------

Signed-off-by: jpcbertoldo <[email protected]>

* Create epic.yaml

* 🔨 Update the issue templates (#2363)

* Update epic.yaml

* Update epic.yaml

* Update epic.yaml

* Update epic.yaml

* Update task.yaml

* Create user_story.yaml

* Update epic.yaml

* Pimo tutorials/03 advanced iii (#2348)

* add aupimo notebook advanced iii (aupimo score of a random model)

Signed-off-by: jpcbertoldo <[email protected]>

* add cite us

Signed-off-by: jpcbertoldo <[email protected]>

* update notebooks readme

Signed-off-by: jpcbertoldo <[email protected]>

---------

Signed-off-by: jpcbertoldo <[email protected]>
Co-authored-by: Samet Akcay <[email protected]>

* 🔨 Deprecate try import and replace it with Lightning's package_available (#2373)

Replace try_import with lightnings package_available function

Signed-off-by: Samet Akcay <[email protected]>

* Refactor folder3d to avoid complex-structure (C901) issue (#2185)

* Refactored-make_folder3d_dataset-ruff-error-C901 (#1926)

Signed-off-by: sahusiddharth <[email protected]>

* Simplify folder 3d dataset (#2184)

---------

Signed-off-by: sahusiddharth <[email protected]>
Co-authored-by: Siddharth Sahu <[email protected]>

* 🚀 Add datumaro annotation dataloader (#2377)

* Add datumaro annotation dataloader

Signed-off-by: Ashwin Vaidya <[email protected]>

* Update changelog

Signed-off-by: Ashwin Vaidya <[email protected]>

* Add examples

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* Pimo tutorials/04 advanced iv  (#2352)

* add notebook 701e_aupimo_advanced_iv on load/save and statistical comparisons

Signed-off-by: jpcbertoldo <[email protected]>

* make `AUPIMOResult.num_thresholds` optional

Signed-off-by: jpcbertoldo <[email protected]>

* add aupimo notebook advanced iv (load/save and statistical tests)

Signed-off-by: jpcbertoldo <[email protected]>

* simplify cite us and mention intal

Signed-off-by: jpcbertoldo <[email protected]>

* fix readme

Signed-off-by: jpcbertoldo <[email protected]>

---------

Signed-off-by: jpcbertoldo <[email protected]>
Co-authored-by: Samet Akcay <[email protected]>

* 🐞 Defer OpenVINO import to avoid unnecessary warnings (#2385)

* Fix openvino import issue

Signed-off-by: Samet Akcay <[email protected]>

* Fix pre-commit issues

Signed-off-by: Samet Akcay <[email protected]>

---------

Signed-off-by: Samet Akcay <[email protected]>

* 🚀 Add VLM based Anomaly Model (#2344)

* [Draft] Llm on (#2165)

* Add TaskType Explanation

Signed-off-by: Bepitic <[email protected]>

* Add llm model

Signed-off-by: Bepitic <[email protected]>

* add ollama

Signed-off-by: Bepitic <[email protected]>

* better description for descr in title

Signed-off-by: Bepitic <[email protected]>

* add text of llm into imageResult visualization

* add text of llm into imageResult visualization

Signed-off-by: Bepitic <[email protected]>

* latest changes

Signed-off-by: Bepitic <[email protected]>

* add wip llava/llava_next

Signed-off-by: Bepitic <[email protected]>

* add init

Signed-off-by: Bepitic <[email protected]>

* add text of llm into imageResult visualization

Signed-off-by: Bepitic <[email protected]>

* latest changes

Signed-off-by: Bepitic <[email protected]>

* upd Lint

Signed-off-by: Bepitic <[email protected]>

* fix visualization with description

Signed-off-by: Bepitic <[email protected]>

* show the images every batch

Signed-off-by: Bepitic <[email protected]>

* fix docstring and error management

Signed-off-by: Bepitic <[email protected]>

* Add compatibility for TaskType.EXPLANATION.

Signed-off-by: Bepitic <[email protected]>

* Remove, show in the engine-Visualization.

* fix visualization and llm openai multishot.

* fix Circular import problem

* Add HugginFace To LLavaNext

Signed-off-by: Bepitic <[email protected]>

---------

Signed-off-by: Bepitic <[email protected]>

* 🔨 Scaffold for refactor (#2340)

* initial scafold

Signed-off-by: Ashwin Vaidya <[email protected]>

* Apply PR comments

Signed-off-by: Ashwin Vaidya <[email protected]>

* rename dir

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* Add ChatGPT (#2341)

* initial scafold

Signed-off-by: Ashwin Vaidya <[email protected]>

* Apply PR comments

Signed-off-by: Ashwin Vaidya <[email protected]>

* rename dir

Signed-off-by: Ashwin Vaidya <[email protected]>

* delete llm_ollama

Signed-off-by: Ashwin Vaidya <[email protected]>

* Add ChatGPT

Signed-off-by: Ashwin Vaidya <[email protected]>

* Add ChatGPT

Signed-off-by: Ashwin Vaidya <[email protected]>

* Remove LLM model

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* Add Huggingface (#2343)

* initial scafold

Signed-off-by: Ashwin Vaidya <[email protected]>

* Apply PR comments

Signed-off-by: Ashwin Vaidya <[email protected]>

* rename dir

Signed-off-by: Ashwin Vaidya <[email protected]>

* delete llm_ollama

Signed-off-by: Ashwin Vaidya <[email protected]>

* Add ChatGPT

Signed-off-by: Ashwin Vaidya <[email protected]>

* Add ChatGPT

Signed-off-by: Ashwin Vaidya <[email protected]>

* Remove LLM model

Signed-off-by: Ashwin Vaidya <[email protected]>

* Add transformers

Signed-off-by: Ashwin Vaidya <[email protected]>

* Remove llava

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* 🔨 Minor Refactor (#2345)

Refactor

Signed-off-by: Ashwin Vaidya <[email protected]>

* undo changes

Signed-off-by: Ashwin Vaidya <[email protected]>

* undo changes

Signed-off-by: Ashwin Vaidya <[email protected]>

* undo changes to image.py

Signed-off-by: Ashwin Vaidya <[email protected]>

* Add explanation visualizer (#2351)

* Add explanation visualizer

Signed-off-by: Ashwin Vaidya <[email protected]>

* bug-fix

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* 🔨 Allow setting API keys from env (#2353)

Allow setting API keys from env

Signed-off-by: Ashwin Vaidya <[email protected]>

* 🧪 Add tests (#2355)

* Add tests

Signed-off-by: Ashwin Vaidya <[email protected]>

* remove explanation task type

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Ashwin Vaidya <[email protected]>

* minor fixes

Signed-off-by: Ashwin Vaidya <[email protected]>

* Update changelog

Signed-off-by: Ashwin Vaidya <[email protected]>

* Fix tests

Signed-off-by: Ashwin Vaidya <[email protected]>

* Address PR comments

Signed-off-by: Ashwin Vaidya <[email protected]>

* update name

Signed-off-by: Ashwin Vaidya <[email protected]>

* Update src/anomalib/models/image/vlm_ad/lightning_model.py

Co-authored-by: Samet Akcay <[email protected]>

* update name

Signed-off-by: Ashwin Vaidya <[email protected]>

---------

Signed-off-by: Bepitic <[email protected]>
Signed-off-by: Ashwin Vaidya <[email protected]>
Co-authored-by: Paco <[email protected]>
Co-authored-by: Samet Akcay <[email protected]>

* Add ensembling methods for tiling to Anomalib (#1226)

* Fixed broken links in readme

* Fixed inference command in readme

* Add tiling for ensemble

* Add tests for tiling for ensemble

* Moved ensemble tiler to separate file

* Modify padim config for ensemble

* Add tiling to dataset

* Revert changes to train

* Add tiling to collate fn

* Fix tiling in collate

* Change val. function to protected

* Add tile number logic

* Move collate fn to separate file

* Update tests for tiler

* Add training loop for ensemble

* Add model input size setup

* Move ens config to separate file

* Revert mvtec modifications

* Remove unused imports in mvtec

* Add batch adjustment to untiling

* Add predict step to ensemble

* Add comment and docstring to tile joining function

* Move tile joining to separate function

* Add joining for all tiled data

* Add joining for all box data

* Refactor pred. joining as modular class

* Fix box joining

* Add label and score joining

* Add ensemble visualization

* Add end of predict hook

* Add metric computation

* Fix metric thresholds

* Add removal of individual visualization

* Add demo1 notebook

* Add docstrings and cleanup

* Add memory benchmark

* Add modular class for storing predictions

* Add metric to separate class

* Refactor to support prediction data class

* Rename predictions class

* Add filesystem predictions class

* Add resized predictions class

* Fix joiner for classification task

* Add page peak to memory benchmark

* Add global stats calculation

* Add docstrings to stats calculation

* Refactor joiner for pipeline

* Refactor stats into pipeline

* Refactor metrics as pipeline block

* Refactor visualization as pipeline block

* Refactor postprocessing into a pipeline

* Add normalization and thresholding on joined predictions

* Refactor tiler to accept config file

* Add smoothing of tile joins.

* Refactor ensemble datamodule preparation

* Remove unused changes in dataloader

* Fix metric configuration

* Fix box coordinates in joining

* Add ensemble callbacks preparation function

* Fix box prediction bug in postprocess

* Add ensemble params to config

* Refactor postprocessing.

* Refactor post-processing

* Refactor predictions

* Code cleanup

* Optimize prediction storage

* Make join smoothing configurable

* Cleanup before PR

* Fix stats pipeline

* Fix logging strings

* Fix memory benchmark

* Fix tiler issues

* Fix import issues

* Fix naming in metrics and visualization

* Fix cyclic import

* Make logging lazy

* Refactor tiler tests

* Added collate tiling tests

* Added ensemble helper functions tests

* Refactor for dummy ensemble config

* Refactor for dummy base config

* Add tests for prediction storage

* Add tests for prediction joiner

* Add tests for visualization

* Fix small issues in tests

* Add metrics test

* Add post-processing tests

* Fix tiler to work with different instance

* Move seed setting inside train loop

* Fix pipeline stats bug

* Rename ensemble config fixture

* Add pipeline tests

* Fix config in pipeline tests

* Add training script test

* Fix types and docstrings

* Move and rename to tiled_ensemble

* Fix bug in label joining.

* Remove memory benchmark

* Cleanup files

* Fix metrics setup

* Rename collate function

* Add license to test files

* Rename fixtures

* Add more comments to tiled ensemble training

* Add start of training log message

* Refactor tiler to have explicit arguments

* Refactor pred. storage to have explicit arguments

* Refactor metrics to have explicit arguments

* Refactor visualization to have explicit arguments

* Refactor post-processing to have explicit arguments

* Sort imports

* Add test ensemble script

* Fix join smoothing bug

* Add more documentation to doc-strings

* Remove unused import

* Add brief tiled ensemble documentation

* Update typehints

* Make training args more clear

* Revert addition of no threshold option.

* Refactor normalization and threshold config

* Remove tiled ensemble from docs index

* Add comments to clarify parts of ensemble config

* Improve ensemble config comments

* Add num_tiles attribute to tiler.

* Fix metrics process docstring

* Fix visualization bug and cover with test

* Replace strings with enum

* Improve comments in joiner.

* Fix bug when model doesn't have anomaly maps.

* Improve docstrings (types, clarify).

* Fix visualization tests

* Fix dict membership checks

* Add saving of ensemble config file

* Update test script args

* Cover test script with tests

* Update export warning

* Fix case when no test or val data

* Improve documentation images

* Add images for documentation

* Add codacy suggestion

* Refactor joiner to single class

* Refactor storage names and config

* Update normalization and threshold stage names

* Add transforms independent input size to models

Signed-off-by: blaz-r <[email protected]>

* Make collate function a datamodule attribute

Signed-off-by: blaz-r <[email protected]>

* Refactor tiled ensemble train into pipeline step

Signed-off-by: blaz-r <[email protected]>

* Refactor tiled ensemble prediction into pipeline step

Signed-off-by: blaz-r <[email protected]>

* Refactor tiled ensemble merging into pipeline step

Signed-off-by: blaz-r <[email protected]>

* Refactor tiled ensemble seam smoothing into pipeline step

Signed-off-by: blaz-r <[email protected]>

* Refactor tiled stats calculation into pipeline step

Signed-off-by: blaz-r <[email protected]>

* Fix ckpt loading when predicting on test set.

Signed-off-by: blaz-r <[email protected]>

* Add logging and add tqdm to pipeline steps.

Signed-off-by: blaz-r <[email protected]>

* Refactor normalization pipeline step

Signed-off-by: blaz-r <[email protected]>

* Refactor thresholding into new pipeline job

* Fix transforms issue when predicting with dataloader

* Add visualization as new pipeline step

* Add metrics as new pipeline step

* Format the code and address some lint problems

Signed-off-by: Blaz Rolih <[email protected]>

* Add code to skip test if test split is none

Signed-off-by: Blaz Rolih <[email protected]>

* Add accelerator to metrics and smoothing

Signed-off-by: Blaz Rolih <[email protected]>

* Make threshold acq helper function and add to threshold to metrics

Signed-off-by: Blaz Rolih <[email protected]>

* Make a separate test pipeline

Signed-off-by: Blaz Rolih <[email protected]>

* Restructure tiled ensemble files into directories

Signed-off-by: Blaz Rolih <[email protected]>

* Pipeline code cleanup

Signed-off-by: Blaz Rolih <[email protected]>

* Remove old tiled ensemble files

Signed-off-by: blaz-r <[email protected]>

* Remove old post processing files

Signed-off-by: blaz-r <[email protected]>

* Fix sigma value read in smoothing

Signed-off-by: blaz-r <[email protected]>

* Update stats calc and normalization

Signed-off-by: blaz-r <[email protected]>

* Update args naming convention

Signed-off-by: blaz-r <[email protected]>
…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Dependencies Pull requests that update a dependency file python Pull requests that update Python code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant