Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

PanopticML

Default plugin for panoptic, provides all machine learning functionalities such as:

  • image embeddings using OpenAI CLIP
  • images clustering using FAISS Kmeans or HDBScan
  • images to images similarity using FAISS Index L2
  • text to images similarity using FAISS Index L2 + CLIP

Compatibility

PanopticML 1.x is built for the plugin API of Panoptic 1.0 and later. With Panoptic 0.x, use PanopticML 0.0.11 or earlier.

While Panoptic 1.0 is in pre-release, PanopticML 1.x is published as a pre-release too, so pip only installs it when asked: pip install --pre panopticml or pip install panopticml==1.0.0rc1.

Available models

Several models are available in this plugin to compute the embeddings:

  • google mobilenet: a really light model with lower performances but made to run on bad devices, no support for text similarity
  • openAI CLIP: default model for panoptic, good performances, runs well on most computers with a decent CPU, support text similarity and has a good understanding of semantics
  • meta dinosV2: model that will have better performances than CLIP on pure visual similarities but less understanding of themes and semantics, no support for text similarity, runs well on CPU
  • google SIGLIP2: computing heavy model, NVDIA GPU recommended but works also on CPU (it will take a long time to compute embeddings), way better results than CLIP on text similarity and semantics, and pretty good visual features
  • meta DINOv3: successor of DINOv2, stronger visual features, no support for text similarity
  • NVIDIA C-RADIOv4: heavy agglomerative vision model (512px input), GPU recommended, no support for text similarity
  • apple MobileCLIP2: fast CLIP-like model (S2 or L-14), supports text similarity
  • google EmbeddingGemma 2: multimodal embedding model (text, 100+ languages, images in one space), supports text similarity, GPU recommended (heavy on CPU)
  • auto transformers: want to tryout any huggingface multimodal model ? you can just provide its id to panopticML and should be able to use it directly

Apple Silicon

On Apple Silicon Macs, embeddings are computed on the GPU (MPS) in reduced precision, and three models get extra compute engines:

  • CLIP: the Neural Engine runs next to the GPU, ~1.9x faster (M4 Pro: ~1150 images/s instead of ~600)
  • SIGLIP2: the Neural Engine runs next to the GPU, ~2.3x faster (M4 Pro: ~65 images/s instead of ~28)
  • EmbeddingGemma 2: MLX runs the vision tower on the GPU (~2x faster than PyTorch), and the Neural Engine runs next to it, ~3x faster overall (M4 Pro: ~8 images/s instead of ~2.5)

The first time a model is used, it is converted for the Neural Engine in the background (one to three minutes, the GPU computes meanwhile) and cached in ~/.cache/panopticml. Neural Engine vectors are computed in fp16, slightly less precise than the GPU's (cosine 0.97 to 0.9998 to the full-precision vector on photos, against more than 0.9998 on the GPU). Search quality is unchanged: on Flickr30k (1000 photos, 5000 captions), text-to-image and image-to-text recall with the Neural Engine is within 0.5 point of the GPU's for all three models. Turn the neural_engine plugin setting off to compute on the GPU only.

Environment variables:

  • PANOPTICML_DEVICE: force the PyTorch device (cpu, cuda, mps)
  • PANOPTICML_ANE=0, PANOPTICML_MLX=0: never use the Neural Engine / MLX
  • PANOPTICML_CACHE: where converted Core ML models are stored (default ~/.cache/panopticml)

Clustering functions

  • Kmeans: specify a number of clusters, really fast
  • HDBScan: automatic number of clusters, a bit slower and excludes a lot of images
  • Images to text: considering several texts, create a cluster per text and put each image to the text it is the closest to
  • Find duplicates: create clusters with only images sharing a lot of similarity together, good to find duplicates or near duplicates

Metadata

Release files for panopticml 1.0.0rc6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for panopticml 1.0.0rc6
File Size Uploaded
panopticml-1.0.0rc6.tar.gz 3.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for panopticml 1.0.0rc6
File Interpreter ABI Platform
panopticml-1.0.0rc6-py3-none-any.whl Python 3 none any Details

Total release size: 3.5 MB

Release files / panopticml-1.0.0rc6.tar.gz

Download URL panopticml-1.0.0rc6.tar.gz
Size 3.5 MB
Tags Source
SHA-256 checksum
How to use checksums
60da0fcb152b8afeb2aa0084faffc62f51a0b60a46f1b7c12ab9ef63d33807d1
BLAKE2b-256 checksum
How to use checksums
b605ce46a0c8292729ab91ad4da1057e9fbaf63c9a6e61bab6e5dd19b282d246
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / panopticml-1.0.0rc6-py3-none-any.whl

Download URL panopticml-1.0.0rc6-py3-none-any.whl
Size 46.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
128c1c72e8b2d68099e0985ca00521a2c739930ba2c304b58da8b39ec2d06ea5
BLAKE2b-256 checksum
How to use checksums
7397c7c89eb1ef86536a80e0556d39c939e01bf38a6338ad36378bdcac3757eb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page