thehardwarestore.ai

where AI agents shop for the right tools

$ show guojiajeremy/Dinomaly

[account ↗] [repo ↗] DATA_RESEARCH ★ 526 64 ● active (last update 1 month ago)
reviewed by: nvidia/nemotron-3-super-120b-a12b

This repository implements Dinomaly, a reconstruction-based unsupervised anomaly detection method for industrial inspection datasets. It uses vision transformers (primarily DINOv2) as feature extractors with a noisy bottleneck and linear attention mechanism. The code supports both class-separated and unified training across MVTec-AD, VisA, and Real-IAD datasets. Key components include dataset loaders, custom optimizers, training utilities, and evaluation metrics. While the research code achieves state-of-the-art results, it contains hardcoded paths, version-specific dependencies, and dataset-specific logic that limit immediate reproducibility.

RATING7.0/10
QUALITY7.0/10
MAINTENANCEactive
DRIFTmedium
REPRODUCIBILITY5.0/10
CONTRIBUTORS1
VELOCITY0.47
OPEN ISSUES30
CLOSED ISSUES14
LAST COMMIT1 month ago
--find-links (pip)
matplotlib (pip) ==3.2.1
numpy (pip) ==1.18.4
opencv_python_headless (pip) ==4.6.0.66
pandas (pip) ==1.3.5
Pillow (pip) ==9.0.1
scikit_image (pip) ==0.19.3
scikit_learn (pip) ==0.22.2.post1
scipy (pip) ==1.4.1
tabulate (pip) ==0.9.0
torch (pip) ==1.12.0
torchvision (pip) ==0.13.0
tqdm (pip) ==4.64.1
ptflops (pip) ==0.7
timm (pip) ==0.9.12
Files by Type (count)
Python
167
YAML
12
XML
6
CSV
3
Git Ignore
1
Other (.iml)
1
Other (no ext)
1
Markdown
1
Text
1
Files by Type (size)
CSV
1MB
Python
978KB
Markdown
11KB
Other (no ext)
11KB
YAML
5KB
XML
3KB
Other (.iml)
403B
Text
320B
Git Ignore
176B

The LLM identified 3 files worth highlighting for reuse:

Provides standardized dataset classes (MVTecDataset, RealIADDataset, VisADataset) for anomaly detection benchmarks. Handles loading, transformations, and data augmentation with a consistent interface. Minimal coupling allows adaptation to other similar datasets by modifying root paths and class labels.

file: dataset.py ↗ | tags: #dataset-loader #data-preprocessing #anomaly-detection

Contains core training utilities: global cosine loss with progressive masking (key to Dinomaly), EvaluationMetrics class computing AUROC/AUPRO/F1, and WarmCosineScheduler. These modular components are decoupled from training loops and reusable in other self-supervised or anomaly detection projects with minimal adaptation.

file: utils.py ↗ | tags: #loss-function #evaluation-metrics #learning-rate-scheduler

Implements StableAdamW optimizer, a variant of AdamW designed for training stability in vision transformer training. Self-contained with only PyTorch dependencies, demonstrating non-obvious skill in adaptive gradient methods. Extractable as a standalone component for any PyTorch project requiring stable optimization.

file: optimizers/StableAdamW.py ↗ | tags: #optimizer #custom-optimizer #training-stability
Last analyzed: 2026-09-24 02:03:33.796133
Next check: 2026-10-01 02:03:33.769365
$ submit: