Commit 084331d
v2.0.0 (#2465)
* 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]>
* …1 parent bcc0b43 commit 084331d
File tree
665 files changed
+49417
-27075
lines changed- .ci
- .github
- actions
- code-quality/pre-commit
- pytest
- security
- bandit
- clamav
- semgrep
- trivy
- workflows
- configs/model
- docs
- source
- images/supersimplenet
- markdown
- get_started
- guides
- developer
- how_to
- data
- evaluation
- models
- pipelines
- visualization
- reference
- callbacks
- cli
- data
- base
- dataclasses
- datamodules
- base
- depth
- image
- video
- depth
- image
- utils
- video
- deploy
- engine
- loggers
- models
- image
- post_processing
- pre_processing
- topic
- snippets/logging
- examples
- api
- 01_getting_started
- 02_data
- 03_models
- 04_advanced
- 05_pipelines
- cli
- 00_installation
- 01_getting_started
- 02_data
- 03_models
- 04_advanced
- 05_pipelines
- configs
- data
- model
- notebooks
- 000_getting_started
- 100_datamodules
- 200_models
- 400_openvino
- 500_use_cases/501_dobot
- 600_loggers
- 700_metrics
- notebooks
- 000_getting_started
- 100_datamodules
- 200_models
- 500_use_cases/501_dobot
- 600_loggers
- 700_metrics
- src/anomalib
- callbacks
- nncf
- normalization
- cli
- utils
- data
- base
- dataclasses
- numpy
- torch
- datamodules
- base
- depth
- image
- video
- datasets
- base
- depth
- image
- video
- depth
- image
- transforms
- utils
- generators
- validators
- numpy
- torch
- video
- deploy
- inferencers
- engine
- loggers
- metrics
- pimo
- threshold
- models
- components
- base
- classification
- cluster
- dimensionality_reduction
- feature_extractors
- filters
- flow
- layers
- sampling
- stats
- image
- cfa
- cflow
- csflow
- dfkde
- dfm
- draem
- dsr
- efficient_ad
- fastflow
- fre
- ganomaly
- padim
- patchcore
- reverse_distillation
- components
- rkde
- stfpm
- supersimplenet
- uflow
- vlm_ad
- backends
- winclip
- video
- ai_vad
- pipelines
- benchmark
- components
- base
- runners
- utils
- tiled_ensemble
- components
- utils
- post_processing
- pre_processing
- utils
- utils
- cv
- exceptions
- normalization
- types
- visualization
- visualization
- image
- tests
- helpers
- integration
- cli
- model
- pipelines
- tools
- upgrade
- unit
- callbacks
- metrics_configuration_callback
- data
- cli
- data
- base
- dataclasses
- datamodule
- base
- depth
- image
- video
- image
- utils
- validators
- numpy
- torch
- video
- deploy
- engine
- metrics
- aupro
- pimo
- models
- components
- base
- clustering
- image/winclip
- pipelines/tiled_ensemble
- pre_processing
- utils
- utils
- callbacks/visualizer_callback
- tools
- inference
- tiled_ensemble
- upgrade
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
665 files changed
+49417
-27075
lines changedThis file was deleted.
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
6 | 5 | | |
7 | 6 | | |
8 | | - | |
| 7 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | | - | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
25 | 24 | | |
26 | 25 | | |
27 | 26 | | |
| |||
41 | 40 | | |
42 | 41 | | |
43 | 42 | | |
44 | | - | |
45 | 43 | | |
46 | 44 | | |
47 | 45 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
0 commit comments