Skip to content

Feat/hierarchical output paths#140

Merged
DeepKnowledge1 merged 2 commits intomainfrom
feat/hierarchical-output-paths
Mar 17, 2026
Merged

Feat/hierarchical output paths#140
DeepKnowledge1 merged 2 commits intomainfrom
feat/hierarchical-output-paths

Conversation

@DeepKnowledge1
Copy link
Copy Markdown
Owner

📝 Description

refactor: implement hierarchical output directory structure

  • Add algorithm parameter to train/detect/export/eval CLIs
  • Change output path from <model_data_path>/<run_name> to <model_data_path>//<class_name>/<run_name>
  • Update model loading paths to use new structure
  • Add algorithm field to config.yml (default: "padim")
  • Fix config loading fallback logic in export and detect
  • Support multiple algorithms (padim, patchcore, etc.) via configuration
  • Default model filename changed from padim_model.* to model.*

🔄 Type of Change

  • 🐛 Bug fix (non-breaking change which fixes an issue)
  • 🚀 New feature (non-breaking change which adds functionality)
  • 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • 📖 Documentation update
  • 🏗️ Infrastructure / CI/CD update

🧪 Hardware & Matrix Testing

I have successfully built and tested this code using uv on:

  • anomavision[cpu] (Standard/Edge)
  • anomavision[cu121] (CUDA 12.1)
  • anomavision[cu124] (CUDA 12.4)
  • anomavision[cu118] (CUDA 11.8)

Host OS used for testing:

  • Linux / Ubuntu
  • Windows (Native or WSL2)
  • macOS

✅ Developer Checklist

  • My code follows the core style guidelines of this project (Ruff/Black formatting).
  • I have run uv run pytest and all unit tests pass locally.
  • Lockfile Guard: If I added or modified a dependency in pyproject.toml, I have run uv lock --python 3.10 and committed the updated uv.lock file.
  • I have added tests that prove my fix is effective or that my feature works.
  • I have updated the documentation accordingly (if applicable).

📸 Screenshots / Visual Proof (Optional)

- Add algorithm parameter to train/detect/export/eval CLIs
- Change output path from <model_data_path>/<run_name> to <model_data_path>/<algorithm>/<class_name>/<run_name>
- Update model loading paths to use new structure
- Add algorithm field to config.yml (default: padim)
- Fix config loading fallback logic in export and detect
- Support multiple algorithms (padim, patchcore, etc.) via configuration
@DeepKnowledge1 DeepKnowledge1 merged commit 5ac4aa3 into main Mar 17, 2026
4 checks passed
@DeepKnowledge1 DeepKnowledge1 deleted the feat/hierarchical-output-paths branch March 17, 2026 14:38
@DeepKnowledge1 DeepKnowledge1 restored the feat/hierarchical-output-paths branch March 17, 2026 14:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant