An unofficial implementation of the FastFlow architecture by Jiawei Yu et al. This implementation builds upon the DifferNet implementation by Marco Rudolph to provide an easy-to-use FastFlow implementation.
- Python >= 3.8
If you want to use Neptune for experiment tracking:
- Create a file named
neptuneparams.pyin the root directory - Add the following content:
project = "insert_name_of_neptune_project_here"
api_token = "insert_token_here"Note: These parameters are generated when you create a project on Neptune. You can find them in your Neptune project dashboard.
If you don't want to use Neptune, simply comment out the Neptune-related code and import statements in train.py.
This project expects the MVTec dataset to be organized in the following directory structure:
data/
└── mvtec/
├── hazelnut/
├── toothbrush/
└── [other_categories]/
Usage instructions will be added as development progresses.
This project is currently under active development. Contributions and feedback are welcome!
- Original FastFlow paper: FastFlow: Unsupervised Anomaly Detection and Localization via 2D Normalizing Flows by Jiawei Yu et al.
- Based on DifferNet implementation by Marco Rudolph