# deepstack-ui UI for working with [Deepstack](https://python.deepstack.cc/). Allows uploading an image and performing object detection with Deepstack. The effect of various parameters can be explored, including filtering the classes of object detected, filtering by minimum confidence (%), and spatial filtering using a region of interest (ROI).

## Run deepstack Run deepstack object detection: ``` docker run \ -e VISION-DETECTION=True \ -v localstorage:/datastore \ -p 5000:5000 \ -e API-KEY="" \ --name deepstack \ deepquestai/deepstack:cpu-x3-beta ``` Alternatively if you have a GPU use the `deepquestai/deepstack:gpu-x3-beta` image. You will need the ip address of the machine running deepstack, which is passed to the Streamlit app. ## Run with Docker From the root dir, build from source: ``` docker build -t deepstack-ui . docker run -p 8501:8501 -e DEEPSTACK_IP='192.168.1.133' deepstack-ui:latest ``` Alternatively run the [pre-built](https://hub.docker.com/repository/docker/robmarkcole/deepstack-ui) image in daemon mode: ``` docker run -p 8501:8501 -e DEEPSTACK_IP='192.168.1.133' -d --name deepstack_ui robmarkcole/deepstack-ui:latest ``` Or if you are running deepstack with non default parameters, an example would be: ``` docker run -p 8501:8501 \ -e DEEPSTACK_IP='192.168.1.133' \ -e DEEPSTACK_PORT=5000 \ -e DEEPSTACK_API_KEY='my_key' \ -e DEEPSTACK_TIMEOUT=20 \ robmarkcole/deepstack-ui:latest` ``` Then visit [localhost:8501](http://localhost:8501/) (not whatever ip address is shown in the logs, this is the internal docker ip) Above examples for using with docker-compose: ``` deepstack: container_name: deepstack restart: unless-stopped image: deepquestai/deepstack:cpu-x3-beta ports: - '5000:5000' environment: - VISION-DETECTION=True - API-KEY="" volumes: - /srv/docker/deepstack:/datastore deepstack_ui: container_name: deepstack_ui restart: unless-stopped image: robmarkcole/deepstack-ui:latest environment: - DEEPSTACK_IP=deepstack - DEEPSTACK_PORT=5000 - DEEPSTACK_API_KEY="" - DEEPSTACK_TIMEOUT=20 ports: - '8501:8501' ``` ### FAQ Q1: I get the error: `TypeError: cannot unpack non-iterable DeepstackException object` A1: You probably didn't pass the required environment variables (`DEEPSTACK_IP` etc.) ------