Skip to main content

Templates for anomaly detection with computer vision using anomalib library.

Project description



Sinapsis Anomalib

Module to provide anomaly detection training, inference and export with Anomalib.

🐍 Installation 🚀 Features 📚 Usage Example📙 Documentation 🔍 License

🐍 Installation

Install using your package manager of choice. We encourage the use of uv

Example with uv:

  uv pip install sinapsis-anomalib --extra-index-url https://pypi.sinapsis.tech

or with raw pip:

  pip install sinapsis-anomalib --extra-index-url https://pypi.sinapsis.tech

[!IMPORTANT] Templates in each package may require extra dependencies. For development, we recommend installing the package with all the optional dependencies:

with uv:

  uv pip install sinapsis-anomalib[all] --extra-index-url https://pypi.sinapsis.tech

or with raw pip:

  pip install sinapsis-anomalib[all] --extra-index-url https://pypi.sinapsis.tech

🚀 Features

Templates Supported

The Sinapsis Anomalib provides a powerful and flexible implementation for anomaly detection with Anomalib library.

  • AnomalibTorchInference
    Run anomaly detection inference using PyTorch models.
  • AnomalibOpenVINOInference
    Perform optimized inference using OpenVINO-accelerated models.
  • AnomalibTrain
    Train custom anomaly detection models with Anomalib.
  • AnomalibExport
    Export trained models for deployment in different formats.

[!TIP] Use CLI command sinapsis info --all-template-names to show a list with all the available Template names installed with Sinapsis Anomalib.

[!TIP] Use CLI command sinapsis info --example-template-config TEMPLATE_NAME to produce an example Agent config for the Template specified in TEMPLATE_NAME.

For example, for CflowTrain use sinapsis info --example-template-config CflowTrain to produce the following example config:

agent:
  name: my_test_agent
templates:
- template_name: InputTemplate
  class_name: InputTemplate
  attributes: {}
- template_name: CflowTrain
  class_name: CflowTrain
  template_input: InputTemplate
  attributes:
    folder_attributes:
      name: 'dataset'
      root: null
      normal_dir: 'images/normal'
      abnormal_dir: null
      normal_test_dir: null
      mask_dir: null
      normal_split_ratio: 0.2
      extensions: null
      train_batch_size: 32
      eval_batch_size: 32
      num_workers: 8
      test_split_mode:
      - from_dir
      test_split_ratio: 0.2
      val_split_mode:
      - from_test
      val_split_ratio: 0.5
      seed: null
    callbacks: null
    normalization: null
    threshold: null
    image_metrics: null
    pixel_metrics: null
    logger: null
    callback_configs: null
    logger_configs: null
    ckpt_path: null
    train_root: null
    trainer_args:
      devices: auto
      accelerator: cpu
      min_epochs: 1
      max_epochs: 5
    cflow_init:
      backbone: wide_resnet50_2
      layers:
      - layer2
      - layer3
      - layer4
      pre_trained: true
      fiber_batch_size: 64
      decoder: freia-cflow
      condition_vector: 128
      coupling_blocks: 8
      clamp_alpha: 1.9
      permute_soft: false
      lr: 0.0001
      pre_processor: true
      post_processor: true
      evaluator: true
      visualizer: true
🚫 Excluded Models

Some models that required additional configuration have been excluded and support for this will be included in future releases.

  • EfficientAd
  • VlmAd
  • Cfa
  • Dfkde
  • Fastflow
  • Supersimplenet
  • AiVad

For all other supported models, refer to the Anomalib documentation linked above.

📚 Usage Example

Below is an example configuration for **Sinapsis Anomalib** using a CFLOW model. This setup trains an anomaly detection model with configurable hyperparameters, including learning rate and epochs, and exports it in OpenVINO format for optimized inference. The pipeline includes training, model export, and predefined paths for outputs.
Example config
agent:
  name: anomalib_train_export

templates:
- template_name: InputTemplate
  class_name: InputTemplate
  attributes: {}

- template_name: CflowTrain
  class_name: CflowTrain
  attributes:
    folder_attributes_config_path: "configs/datamodule_config.yml"
    train_root: "model"
    max_epochs: 1
    cflow_init:
      lr: 0.0001

- template_name: CflowExport
  class_name: CflowExport
  attributes:
    generic_key_chkpt: "CflowTrain"
    export_type: "openvino"
    export_root: "results/model/exported"

This configuration defines an agent and a sequence of templates to train and export a model based on a certain data configuration.

[!IMPORTANT] Attributes specified under the *_init keys (e.g., cflow_init) correspond directly to the Anomalib models parameters. Ensure that values are assigned correctly according to the official Anomalib documentation, as they affect the behavior and performance of the model.

To run the config, use the CLI:

sinapsis run name_of_config.yml

📙 Documentation

Documentation for this and other sinapsis packages is available on the sinapsis website

Tutorials for different projects within sinapsis are available at sinapsis tutorials page

🔍 License

This project is licensed under the AGPLv3 license, which encourages open collaboration and sharing. For more details, please refer to the LICENSE file.

For commercial use, please refer to our official Sinapsis website for information on obtaining a commercial license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sinapsis_anomalib-0.1.12.tar.gz (30.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sinapsis_anomalib-0.1.12-py3-none-any.whl (34.4 kB view details)

Uploaded Python 3

File details

Details for the file sinapsis_anomalib-0.1.12.tar.gz.

File metadata

  • Download URL: sinapsis_anomalib-0.1.12.tar.gz
  • Upload date:
  • Size: 30.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.17

File hashes

Hashes for sinapsis_anomalib-0.1.12.tar.gz
Algorithm Hash digest
SHA256 2d0b2d4de9293066608cbb689bfed80e1e492a639ad89585819461ebc3faeb33
MD5 e57b037c7fdc53fb5fd79b5c96255082
BLAKE2b-256 743d5b5ee64704821ba80c9f37e1fba6fb8e77eb87c7d10463bbf8cf9bd92e82

See more details on using hashes here.

File details

Details for the file sinapsis_anomalib-0.1.12-py3-none-any.whl.

File metadata

File hashes

Hashes for sinapsis_anomalib-0.1.12-py3-none-any.whl
Algorithm Hash digest
SHA256 4e01cf659466627c622ef47a8941ca1c1ab4d58156197426b201955f0267b83a
MD5 43cc3afc81b01816136f0eaf60dce375
BLAKE2b-256 e4854830c757987bca5184d60a57a670cfa1f33cd9a2b72694495bd1165c0b87

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page