snowzach / doods2

API for detecting objects in images and video streams using Tensorflow
MIT License
221 stars 28 forks source link

DOODS Container unable to start with edgeTPU included #64

Closed tokenwizard closed 1 year ago

tokenwizard commented 1 year ago

Using the docker run command in the instructions, I was able to run the container and use the web interface.

I then updated my configs for the Coral USB device and now I am getting this error:

4f4fb700ef54: Pull complete c099e822da9e: Pull complete Digest: sha256:e8e39ba734d0055e56c058d0b5e3953d691149baea7bd767a8fd003c95f34ebd Status: Downloaded newer image for snowzach/doods2:amd64-gpu Creating doods2_doods_1 ... done Attaching to doods2_doods_1 doods_1 | The TensorFlow library was compiled to use SSE4.1 instructions, but these aren't available on your machine. doods2_doods_1 exited with code 139

Here is my config.yaml (with the relevant entry for the edgeTPU at the bottom):

server: host: 0.0.0.0 port: 8080 metrics: true logging: level: info doods: log: detections boxes: enabled: True boxColor: [0, 255, 0] boxThickness: 1 fontScale: 1.2 fontColor: [0, 255, 0] fontThickness: 1 regions: enabled: True boxColor: [255, 0, 255] boxThickness: 1 fontScale: 1.2 fontColor: [255, 0, 255] fontThickness: 1 globals: enabled: True fontScale: 1.2 fontColor: [255, 255, 0] fontThickness: 1 detectors:

And here is my docker-compose.yaml with the edgeTPU USB bus device passed to the container:

version: '3.2' services: doods: image: snowzach/doods2:amd64-gpu ports:

snowzach commented 1 year ago

It's staying you don't have SSE4.1... What processor are you running this on?

tokenwizard commented 1 year ago

This is on an LXC on Proxmox on a Dell PowerEdge with dual Intel Xeon E5-2670 CPUs.

Sent from Proton Mail mobile

-------- Original Message -------- On Nov 7, 2022, 8:59 AM, Zach wrote:

It's staying you don't have SSE4.1... What processor are you running this on?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

snowzach commented 1 year ago

Do you have a GPU attached to this? I would just use the latest image instead of the GPU image. The GPU image is designed for NVidia GPUs. Also, I would check the Proxmox settings. I don't think it's exposing all the capabilities of the chip.

snowzach commented 1 year ago

Actually the amd64 tag would be the best to use for that processor.

snowzach commented 1 year ago

And the E5-2670 definitely supports SSE 4.1 so I'm not sure why it would print that message unless it's running in a VM or something. Not sure how Proxmox does LXC.

tokenwizard commented 1 year ago

Ok, I'll fiddle with my Proxmox/LXC config a bit.

Sent with Proton Mail secure email.

------- Original Message ------- On Monday, November 7th, 2022 at 9:20 AM, Zach @.***> wrote:

And the E5-2670 definitely supports SSE 4.1 so I'm not sure why it would print that message unless it's running in a VM or something. Not sure how Proxmox does LXC.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

tokenwizard commented 1 year ago

Figured it out. I actually had ended up going with a VM in Proxmox because it was easier to passthrough the USB Coral device.

Changing the CPU type to "host" seems to have resolved that error: image

Now I have the web interface running and working, but the edgeTPUI detector is not configured.

I added this entry to the bottom of the config.yaml and placed this in the same folder with the docker-compose.yaml and the "models" folder where I downloaded the tflite and labels files (the first two were there and are detected and available in the Web Interface):

detectors: