Deploy to Oak device

Hello,

I am having a problem deploying Roboflow with Oak-D
I am following the instructions at: Luxonis OAK (On Device) - Roboflow

The validate step works- but I think I have the URL syntax incorrect- I’m pretty sure I have the access token correct, but not sure if the endpoint is just the model id ??

So my URL would be in the format
http://localhost:9001/mymodel-abcdef?access_token=ab_cd7aBCXYZAB6xyzABxyz12abcde12

I get an error message
no model here - the model enpoint must be passed as in the hosted API (see docs.roboflow.com)
I’m trying this on the public plan- assuming this is not the issue

thanks

Andrew

Hi

to partially answer my question- I noticed in How to Deploy a Custom Model to your OpenCV AI Kit (OAK) | OpenCV + Roboflow Course 6/6 - YouTube by @Jacobsolawetz that the endpoint version is included in the URL (which isn’t clear in the instructions)
So now it seems to at least find the model- but next problem that I get the following error

thanks

Andrew

Mine did the same thing, I got the 500 message, which is “Error!”
It worked well with the coco example, and returned a 200. It specified some coding mistake from the python, and since I didn’t write that code, I couldn’t check the lines.

Hi Russ,

I’ll let Roboflow respond- but I don’t believe this is something either you or I can resolve

Andrew

@andrewh @Russ76 We are working on cleaning up our OAK deployment into a PIP package - the docker deployment strategy has been notoriously complicated, and some nuance there is likely causing the issue here. The new idea is that as long as you can install and run depthai on your host’s python, the new deployment will work.

I will post here when we have that completed!

1 Like

Great! The DepthAI tools work well with the camera. The Roboflow web pages work well to create an AI network. I just couldn’t get my custom data to work in the camera without the web api. And I plan to deploy this on a yard robot, so it must be automatic and fast, no manual handling of images or web pages.

Also, I couldn’t see how to get one of your “public” datasets onto my workspace, so that I could merge it with my dataset and create a better network!

I got some help with the second comment above.

We are anxious for the PIP routine for Raspberry Pi. That sounds great! I will record a video of my robot working for you to use when it is deployed and perfected. Meanwhile, the dandelions grow…

Docker will load onto the Raspberry Pi, version 4 with 4 Gig memory. But still won’t work with your Docker programs. Below is output from Raspian Buster and Ubuntu Jenny.

pi@raspberrypi:~ $ sudo docker run --rm \

--privileged \
-v /dev/bus/usb:/dev/bus/usb \
--device-cgroup-rule='c 189:* rmw' \
-e DISPLAY=$DISPLAY \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-p 9001:9001 \
roboflow/oak-inference-server:latest

Unable to find image ‘roboflow/oak-inference-server:latest’ locally
latest: Pulling from roboflow/oak-inference-server
a09400eba642: Pull complete
fdcab926b54c: Pull complete
00c1d05f510d: Pull complete
5f48e9730cba: Pull complete
2f853f236475: Pull complete
85c6599990d5: Pull complete
e9078dfb6794: Pull complete
f9b09c3b730a: Pull complete
53804cea3e85: Pull complete
59f0dba192fd: Pull complete
17e8b11c08a4: Pull complete
ab8dff674deb: Pull complete
95d7e8de0a46: Pull complete
c0badb6fff7f: Pull complete
ffb19650d2fe: Pull complete
1f5240aa84ee: Pull complete
ed5a0092c983: Pull complete
de23995b7d6e: Pull complete
f6bc988a10f5: Pull complete
4ed8f975d7b5: Pull complete
80c95e156a62: Pull complete
Digest: sha256:9803b4b1e73dd0260b3d959d134ee548d8b9261ffe5e1b926d665c3337648fe5
Status: Downloaded newer image for roboflow/oak-inference-server:latest
WARNING: The requested image’s platform (linux/amd64) does not match the detected host platform (linux/arm/v7) and no specific platform was requested
exec /usr/bin/python3: exec format error
pi@raspberrypi:~ $

Will not work this way! sorry

ted@ted-desktop:~$ sudo docker run --rm
–privileged
-v /dev/bus/usb:/dev/bus/usb
–device-cgroup-rule=‘c 189:* rmw’
-e DISPLAY=$DISPLAY
-v /tmp/.X11-unix:/tmp/.X11-unix
-p 9001:9001
roboflow/oak-inference-server:latest
[sudo] password for ted:
Unable to find image ‘roboflow/oak-inference-server:latest’ locally
latest: Pulling from roboflow/oak-inference-server
a09400eba642: Pull complete
fdcab926b54c: Pull complete
00c1d05f510d: Pull complete
5f48e9730cba: Pull complete
2f853f236475: Pull complete
85c6599990d5: Pull complete
e9078dfb6794: Pull complete
f9b09c3b730a: Pull complete
53804cea3e85: Pull complete
59f0dba192fd: Pull complete
17e8b11c08a4: Pull complete
ab8dff674deb: Pull complete
95d7e8de0a46: Pull complete
c0badb6fff7f: Pull complete
ffb19650d2fe: Pull complete
1f5240aa84ee: Pull complete
ed5a0092c983: Pull complete
de23995b7d6e: Pull complete
f6bc988a10f5: Pull complete
4ed8f975d7b5: Pull complete
80c95e156a62: Pull complete
Digest: sha256:9803b4b1e73dd0260b3d959d134ee548d8b9261ffe5e1b926d665c3337648fe5
Status: Downloaded newer image for roboflow/oak-inference-server:latest
WARNING: The requested image’s platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
exec /usr/bin/python3: exec format error
ted@ted-desktop:~$

Didn’t work with Ubuntu 22, either! Arrrgh

This is because the OAK Docker is compiled to work with x64 chips (AMD/Intel) and the Raspberry Pi runs ARM v7.

A new OAK deploy method that works with Raspberry Pi is coming imminently. Check back tomorrow and hopefully it’ll be in the docs!

:smiley:

Sounds good!

1 Like