Sign inSign up

wildme/scoutbot

By wildme

Updated about 1 year ago

The computer vision for Wild Me's Scout project

Image
0

4.0K

wildme/scoutbot repository overview

Wild Me ScoutBot

GitHub CI Codecov Python Wheel ReadTheDocs Huggingface

Environment Variables

  • CONFIG (default: mvp) The configuration setting for which machine lerning models to use. Must be one of phase1 or mvp, or their respective aliases as old or new.
  • WIC_CONFIG (default: not set) The configuration setting for which machine lerning models to use with the WIC. Must be one of phase1 or mvp, or their respective aliases as old or new. Defaults to the value of the CONFIG environment variable.
  • LOC_CONFIG (default: not set) The configuration setting for which machine lerning models to use with the LOC. Must be one of phase1 or mvp, or their respective aliases as old or new. Defaults to the value of the CONFIG environment variable.
  • AGG_CONFIG (default: not set) The configuration setting for which machine lerning models to use with the AGG. Must be one of phase1 or mvp, or their respective aliases as old or new. Defaults to the value of the CONFIG environment variable.
  • WIC_BATCH_SIZE (default: 256) The configuration setting for how many tiles to send to the GPU in a single batch during the WIC prediction (forward inference). The LOC model has a fixed batch size (16 for phase1 and 32 for mvp) and cannot be adjusted. This setting can be used to control how fast the pipeline runs, as a trade-off of faster compute for more memory usage. It is highly suggested to set this value as high as possible to fit into the GPU.
  • FAST (default: not set) A flag that can be set to turn off extracting the second grid of tiles. Defaults to "not set", which translates to the standard process of extracting all tiles for grid1 and grid2. Setting this value to anything will turn off grid2 and results in faster (but less accurate) detections (e.g., FAST=1).
  • VERBOSE (default: not set) A verbosity flag that can be set to turn on debug logging. Defaults to "not set", which translates to no debug logging. Setting this value to anything will turn on debug logging (e.g., VERBOSE=1).

Docker

To run with Docker:

docker run \
   -it \
   --rm \
   -p 7860:7860 \
   -e CONFIG=phase1 \
   -e WIC_BATCH_SIZE=512 \
   --gpus all \
   --name scoutbot \
   wildme/scoutbot:main \
   python3 app2.py

Docker Compose

To run with Docker Compose:

docker-compose.yaml

version: "3"

services:
  scoutbot:
    image: wildme/scoutbot:main
    command: python3 app2.py
    ports:
      - "7860:7860"
    environment:
      CONFIG: phase1
      WIC_BATCH_SIZE: 512
    restart: unless-stopped
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              device_ids: ["all"]
              capabilities: [gpu]

and run docker compose up -d.

PyPI

Install from the Python Package Index (PyPI):

(.venv) $ pip install scoutbot

Source

Install from source:

git clone https://github.com/WildMeOrg/scoutbot
cd scoutbot
(.venv) $ pip install -e .

To then add GPU acceleration, you need to replace [onnxruntime]{.title-ref} with `onnxruntime-gpu`:

(.venv) $ pip uninstall -y onnxruntime
(.venv) $ pip install onnxruntime-gpu

Demo

You can run the tile-based Gradio demo with:

(.venv) $ python app.py

or, you can run the image-based Gradio demo with:

(.venv) $ python app2.py

Tag summary

Content type

Image

Digest

sha256:866bb587d

Size

6.9 GB

Last updated

over 1 year ago

docker pull wildme/scoutbot