-
Notifications
You must be signed in to change notification settings - Fork 690
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
π Refactor Benchmarking Script #1216
π Refactor Benchmarking Script #1216
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you think we could simplify the exception handling somehow? Catching the exceptions in various different places make it a bit hard to read the code.
Also, I'm wondering if it would be possible to log the results to wandb as they are collected, instead of all at once at the end of the script. In some cases could be useful to see the results come in as they are generated.
tools/benchmarking/benchmark.py
Outdated
|
||
|
||
def hide_output(func): | ||
"""Decorator to hide output of the function. | ||
def redirect_output(func): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This function could be moved to utils
to keep this file a bit cleaner.
* Configure readthedocs via `.readthedocs.yaml` file (#1229) * π Refactor Benchmarking Script (#1216) * New printing stuff * Remove dead code + address codacy issues * Refactor try/except + log to comet/wandb during runs * pre-commit error * third-party configuration --------- Co-authored-by: Ashwin Vaidya <[email protected]> * Update CODEOWNERS --------- Co-authored-by: Ashwin Vaidya <[email protected]> Co-authored-by: Ashwin Vaidya <[email protected]>
β¦d Visa benchmarks (#1235) * Fix metadata path * Update readme files * ignore runs directory * ignore runs directory * Add DFM MVTec AD results * Add Fastflow MVTec AD results * Fix typo * F1 Score to F1 * Add STFPM MVTec AD results * Add visa dataset results * Visa - 3 decimal points * MVTec - 3 decimal points * Configure readthedocs via `.readthedocs.yaml` file (#1229) * π Refactor Benchmarking Script (#1216) * New printing stuff * Remove dead code + address codacy issues * Refactor try/except + log to comet/wandb during runs * pre-commit error * third-party configuration --------- Co-authored-by: Ashwin Vaidya <[email protected]> * Add efficient_ad mvtec results * Add efficient_ad visa results * Add efficient_ad btech results * Add dfm btech results * Add fastflow btech results * Add stfpm btech results * sort visa categories by alphabetical order in efficientad results * Transform efficient-ad mvtec-ad results to title case * Transform efficient-ad mvtec-ad results to title case and sort categories --------- Co-authored-by: Ashwin Vaidya <[email protected]> Co-authored-by: Ashwin Vaidya <[email protected]>
This reverts commit 784767f.
* Configure readthedocs via `.readthedocs.yaml` file (#1229) * π Refactor Benchmarking Script (#1216) * New printing stuff * Remove dead code + address codacy issues * Refactor try/except + log to comet/wandb during runs * pre-commit error * third-party configuration --------- Co-authored-by: Ashwin Vaidya <[email protected]> * Update CODEOWNERS * Enable training with only normal images for MVTec (#1241) * ignore mask check when dataset has only normal samples * update changelog * Revert "π Refactor Benchmarking Script" (#1239) Revert "π Refactor Benchmarking Script (#1216)" This reverts commit 784767f. * Update benchmarking notebook (#1242) * Fix metadata path * Update benchmarking notebook --------- Co-authored-by: Ashwin Vaidya <[email protected]> Co-authored-by: Ashwin Vaidya <[email protected]> Co-authored-by: Dick Ameln <[email protected]>
* Configure readthedocs via `.readthedocs.yaml` file (#1229) * π Refactor Benchmarking Script (#1216) * New printing stuff * Remove dead code + address codacy issues * Refactor try/except + log to comet/wandb during runs * pre-commit error * third-party configuration --------- Co-authored-by: Ashwin Vaidya <[email protected]> * Update CODEOWNERS * Enable training with only normal images for MVTec (#1241) * ignore mask check when dataset has only normal samples * update changelog * Revert "π Refactor Benchmarking Script" (#1239) Revert "π Refactor Benchmarking Script (#1216)" This reverts commit 784767f. * Update benchmarking notebook (#1242) * Fix metadata path * Update benchmarking notebook * Fix links to model architecture images (#1245) * Fix links to architecture images * Change links to raw files * Wandb unwatch method belongs to experiment, not logger (#1246) unwatch method belongs to experiment, not logger --------- Co-authored-by: Ashwin Vaidya <[email protected]> Co-authored-by: Ashwin Vaidya <[email protected]> Co-authored-by: Dick Ameln <[email protected]> Co-authored-by: BlaΕΎ Rolih <[email protected]> Co-authored-by: Sean Aubin <[email protected]>
* Configure readthedocs via `.readthedocs.yaml` file (#1229) * π Refactor Benchmarking Script (#1216) * New printing stuff * Remove dead code + address codacy issues * Refactor try/except + log to comet/wandb during runs * pre-commit error * third-party configuration --------- Co-authored-by: Ashwin Vaidya <[email protected]> * Update CODEOWNERS * Enable training with only normal images for MVTec (#1241) * ignore mask check when dataset has only normal samples * update changelog * Revert "π Refactor Benchmarking Script" (#1239) Revert "π Refactor Benchmarking Script (#1216)" This reverts commit 784767f. * Update benchmarking notebook (#1242) * Fix metadata path * Update benchmarking notebook * Fix links to model architecture images (#1245) * Fix links to architecture images * Change links to raw files * Wandb unwatch method belongs to experiment, not logger (#1246) unwatch method belongs to experiment, not logger * (Minor change) Added the tracer_kwargs to the TorchFXFeatureExtractor class (#1214) * Added tracer_kwargs to torchfx * Added tracer_kwargs on docstring * Replace cdist in Patchcore (#1267) * Ignore hidden directories when creating `Folder` dataset (#1268) * Remove `config` from argparse in OpenVINO inference script. (#1257) * Fix metadata path * Remove leftover argument * Update openvino entrypoint script * Fix EfficientAD number of steps for optimizer lr change? (#1266) * Fix metadata path * Fix number of steps --------- Co-authored-by: Ashwin Vaidya <[email protected]> Co-authored-by: Ashwin Vaidya <[email protected]> Co-authored-by: Dick Ameln <[email protected]> Co-authored-by: BlaΕΎ Rolih <[email protected]> Co-authored-by: Sean Aubin <[email protected]> Co-authored-by: JoaoGuibs <[email protected]>
* add per-image overlap (pimo) * modif plot pimo curves * add warning about memory * tiny bug * add tuto ipynb * make image classes a return * fix ipynb * add tests for binclf curve * add test to binclf * add aupimo tests * ruff * Configure readthedocs via `.readthedocs.yaml` file (#1229) * Update binclf_curve.py * π Refactor Benchmarking Script (#1216) * New printing stuff * Remove dead code + address codacy issues * Refactor try/except + log to comet/wandb during runs * pre-commit error * third-party configuration --------- Co-authored-by: Ashwin Vaidya <[email protected]> * Update CODEOWNERS * Enable training with only normal images for MVTec (#1241) * ignore mask check when dataset has only normal samples * update changelog * Revert "π Refactor Benchmarking Script" (#1239) Revert "π Refactor Benchmarking Script (#1216)" This reverts commit 784767f. * Update benchmarking notebook (#1242) * Fix metadata path * Update benchmarking notebook * add per-image overlap (pimo) * modif plot pimo curves * add warning about memory * tiny bug * add tuto ipynb * make image classes a return * fix ipynb * add tests for binclf curve * add test to binclf * add aupimo tests * ruff * Update binclf_curve.py * refactor from future pr * correct tests * add test * fix test * add plots tests * correct codacy stuff * correct codacy stuff --------- Co-authored-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]>
* add per-image overlap (pimo) * modif plot pimo curves * add warning about memory * tiny bug * add tuto ipynb * make image classes a return * fix ipynb * add tests for binclf curve * add test to binclf * add aupimo tests * ruff * Configure readthedocs via `.readthedocs.yaml` file (#1229) * Update binclf_curve.py * π Refactor Benchmarking Script (#1216) * New printing stuff * Remove dead code + address codacy issues * Refactor try/except + log to comet/wandb during runs * pre-commit error * third-party configuration --------- Co-authored-by: Ashwin Vaidya <[email protected]> * Update CODEOWNERS * Enable training with only normal images for MVTec (#1241) * ignore mask check when dataset has only normal samples * update changelog * Revert "π Refactor Benchmarking Script" (#1239) Revert "π Refactor Benchmarking Script (#1216)" This reverts commit 784767f. * Update benchmarking notebook (#1242) * Fix metadata path * Update benchmarking notebook * add per-image overlap (pimo) * modif plot pimo curves * add warning about memory * tiny bug * add tuto ipynb * make image classes a return * fix ipynb * add tests for binclf curve * add test to binclf * add aupimo tests * ruff * Update binclf_curve.py * refactor from future pr * add auc boxplot * Apply suggestions from code review * update demo nb * correct tests * add test * fix test * add plots tests * add tests to pimo * fix plt warning * fix docstring warning * add tests to common * add tests for plot module and small fixes * --amend * clear ouputs in notebook * correct typo * correct codacy stuff * correct codacy stuff * merge * fix kernel spec in 502_perimg_metrics.ipynb * fix types in boxplot * Update src/anomalib/utils/metrics/perimg/pimo.py Co-authored-by: Samet Akcay <[email protected]> --------- Co-authored-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]>
Description
While this started as an exercise to simplify the script, it probably has become more complicated. But the outputs look pretty now π€·ββοΈ
All outputs are logged to
runs/benchmark.logs
.I've removed throughput computations as it needs to be rafactored and we don't use it anywhere.
Also, I've tried to ensure that any exception does not break the benchmarking run so that the script keeps collecting results for the models that work.
Changes
Checklist