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.14.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.14-py3-none-any.whl (34.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sinapsis_anomalib-0.1.14.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.14.tar.gz
Algorithm Hash digest
SHA256 dc4fa98f75a9062949bf65f48572db884c240dc1e9db99b023d282831d2b5ee8
MD5 ec403a7d7ebba494f18f9d9f1baa0c02
BLAKE2b-256 69278077de9affbe5cd166b25929646597c92d9716908c4dc3b4278bc58e3b37

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sinapsis_anomalib-0.1.14-py3-none-any.whl
Algorithm Hash digest
SHA256 d63baa38c06788f52262ea0166e8af11593b03b02d2b9b75e8109dc41cca27e0
MD5 729dbaa54817c88a67a42911804ad4fc
BLAKE2b-256 9513bcfd129bed53fce9eb522dccc6cf2da816ef8f3e8fa95074f0a74548194c

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