Skip to main content

Templates for GroundingDINO with HuggingFace

Project description




Sinapsis Hugging Face Grounding DINO

Templates for seamless integration with Grounding DINO models

🐍 Installation📦 Features▶️ Example Usage🌐 Webapp📙 Documentation🔍 License

🐍 Installation

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

Example with uv:

  uv pip install sinapsis-huggingface-grounding-dino --extra-index-url https://pypi.sinapsis.tech

or with raw pip:

  pip install sinapsis-huggingface-grounding-dino --extra-index-url https://pypi.sinapsis.tech

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

with uv:

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

or with raw pip:

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

📦 Features

The templates in this package include functionality for different Grounding DINO-based tasks:

  • GroundingDINO: Detect objects with bounding boxes based on text prompts (zero-shot object detection).
  • GroundingDINOClassification: Classify images using predefined classes or text prompts, handling as many classes as possible within token limits.
  • GroundingDINOFineTuning: Fine-tune Grounding DINO checkpoints on custom datasets.

▶️ Example Usage

Below is an example YAML configuration for zero-shot object detection using Grounding DINO.

Config
agent:
  name: grounding_dino_detection

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

  - template_name: FolderImageDatasetCV2
    class_name: FolderImageDatasetCV2
    template_input: InputTemplate
    attributes:
      data_dir: my_dataset

  - template_name: GroundingDINO
    class_name: GroundingDINO
    template_input: FolderImageDatasetCV2
    attributes:
      model_path: IDEA-Research/grounding-dino-base
      inference_mode: zero_shot
      text_input: a person.
      device: cuda
      threshold: 0.2
      text_threshold: 0.3

  - template_name: BBoxDrawer
    class_name: BBoxDrawer
    template_input: GroundingDINO
    attributes:
      overwrite: true
      randomized_color: false

  - template_name: ImageSaver
    class_name: ImageSaver
    template_input: BBoxDrawer
    attributes:
      save_dir: ./output_dir
      extension: png

[!IMPORTANT] The FolderImageDatasetCV2, BBoxDrawer and ImageSaver templates correspond to the sinapsis-data-readers, sinapsis-data-visualization and sinapsis-data-writers packages respectively. If you want to use the example, please make sure you install these packages.

To run the config, use the CLI:

sinapsis run name_of_config.yml

🌐 Webapp

Th Sinapsis web applications provide an interactive way to explore and experiment with AI models. They allow users to generate outputs, test different inputs, and visualize results in real time, making it easy to experience the capabilities of each model. Below are the available webapps and instructions to launch them.

[!IMPORTANT] To run any of the apps, you first need to clone this repo:

git clone git@github.com:Sinapsis-ai/sinapsis-huggingface.git
cd sinapsis-huggingface

[!NOTE] If you'd like to enable external app sharing in Gradio, export GRADIO_SHARE_APP=True.

[!NOTE] Agent configuration can be changed through the AGENT_CONFIG_PATH env var. You can check the available configurations in each package configs folder.

🐳 Build with Docker

IMPORTANT The docker image depends on the sinapsis-nvidia:base image. To build it, refer to the [official sinapsis documentation](https://

  1. Build the sinapsis-huggingface image:
docker compose -f docker/compose.yaml build
  1. Start the container:
docker compose -f docker/compose_vision.yaml up sinapsis-huggingface-vision-gradio -d
  1. Check the status:
docker logs -f sinapsis-huggingface-vision-gradio
  1. The logs will display the URL to access the webapp, e.g.,:
Running on local URL:  http://127.0.0.1:7860

NOTE: The local URL can be different, please check the logs

  1. To stop the app:
docker compose -f docker/compose_vision.yaml down
📦 UV
  1. Create the virtual environment and sync the dependencies:
uv sync --frozen
  1. Install the dependencies:
uv pip install sinapsis-huggingface[all] --extra-index-url https://pypi.sinapsis.tech
  1. Run the webapp.
uv run webapps/vision_demo.py
  1. The terminal will display the URL to access the webapp, e.g., :
Running on local URL:  http://127.0.0.1:7860

📙 Documentation

Documentation 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_huggingface_grounding_dino-0.1.8.tar.gz (24.7 kB view details)

Uploaded Source

Built Distribution

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

File details

Details for the file sinapsis_huggingface_grounding_dino-0.1.8.tar.gz.

File metadata

File hashes

Hashes for sinapsis_huggingface_grounding_dino-0.1.8.tar.gz
Algorithm Hash digest
SHA256 4ee92ba709b3f5def5ef3d5eaa8cd0f777daa4534c091577266a8971859dc8b2
MD5 5b0fa644c3e1c08945a1f77da5e4938d
BLAKE2b-256 af8386f2aad4ec77b4f606c5ef562b1662c1cb0467a975455cbee0f7312793af

See more details on using hashes here.

File details

Details for the file sinapsis_huggingface_grounding_dino-0.1.8-py3-none-any.whl.

File metadata

File hashes

Hashes for sinapsis_huggingface_grounding_dino-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 ad0eb8ceaf2d8c1779bf2ee16c213741517d9bd803ecb3005efa43aa8e0a1796
MD5 6340b252f5912a9b6ee4c308a35a4e63
BLAKE2b-256 9b903b26bbbc2e44106b91f9286f2bd558f85bd860ed23fa82ebda30cd7b4d78

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