-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ObjectDetectionCoral stops working when restarting the docker container. #7
Comments
How are you starting the Docker container?
|
Hi @matthewDDennis, thanks for the help. It is my feeling that the bug report wasn't fully understood though. The bug is actually known and described in the "Expected behavior" section (at least I tried to explain it). This isn't about Docker not restarting the container. Please feel free to ask questions if it is still misunderstood 🙏🏻 |
Maybe the It copies files into the host at the location: There is no mention about mounting other volumes other than the settings/module folders in the documentation: https://www.codeproject.com/ai/docs/install/running_in_docker.html#advanced-docker-launch-settings-saved-outside-of-the-container |
@mikegleasonjr How did you end up working around this? Did you have to mount usr/lib/x86_64-linux-gnu/ as a persistent volume? |
Mounting I felt the comprehensive bug report wasn't even read according to the comments I had so I felt helpless trying to make ppl understand what was happening and a waste of efforts to go to such an extent to file a bug report. I stopped using the module (and codeprojectai). So yes I gave an example where some installation files were lost but I don't know if it involves a game of wack-a-mole and if something else would still be missing after a container restart. I think so, I think some Also the official doc says to mount the Docker image in a certain way so this would contradict what has to be done here to restore the context. |
Thanks for the update @mikegleasonjr. It's a shame this isn't under active development anymore given that such a major bug is unacknowledged half a year later, guess I'll need to move off of codeproject.ai as well. Surprising, I can't imagine you and I are the only two Coral + codeprojectai docker users out there. If you feel like sharing, I'd love to know what you moved to. My intention was to use this with Frigate and Doubletake for facial recognition supporting Coral. Looks like the alternatives are dead too-- Deepstack is no longer being developed either (docker image last updated over 2 years ago), and Compreface likewise has almost a year since last update. |
Installing the latest version of the Server, 2.9.0, should resolve the issue. In the case of the Docker image, you need to pull the appropriate codeproject/ai-server image that matches your CPU/GPU configuration. The latest image is 2.8.0, but a 2.9.0 should be available soon. |
I'm still seeing this challenge as of 2.9.5 |
@mikegleasonjr You're correct in pointing out where the issue is. The fix Matthew made was to re-run the install.sh script when the server detects that the container it's running under isn't the original container. This should then re-run the cp "${moduleDirPath}/edgetpu_runtime/${edgetpu_folder}/k8/libedgetpu.so.1.0" "/usr/lib/x86_64-linux-gnu/libedgetpu.so.1.0" command and ensure the library is in the correct place. Just to clarify some things: you say you stopped and restarted the container. Does that mean you just stopped and restarted, or does it mean you deleted and recreated the container? I'm assuming you mean just "stop and start". Could you try opening a terminal into the container and checking if bash ../../setup.sh and then checking if |
New container with module installed After killing the container After running setup.sh So how to force this to happen when needed? |
I'm using kubernetes not docker, is it possible the container id is not changing? I'm using a statefulset so the name is always the same on purpose. |
That could be it... |
Area of Concern
ObjectDetectionCoral
Describe the bug
codeproject/ai-server
image with 2 volumes (so that I can restart it without having to reinstall/reconfigure everything):/etc/codeproject/ai
/app/modules
Object Detection (Coral)
module, which worked fine with my TPU. I called the API and verified that everything was working.objectdetection_coral_adapter.py: An exception occurred initialising the module: libedgetpu.so.1: cannot open shared object file: No such file or dir
Expected behavior
The module restarts properly in the docker container.
I know what the problem actually is: In
ObjectDetectionCoral/install.sh
, there is a line to copy the shared library in/usr/lib/x86_64-linux-gnu/
upon module installation:Obvisouly when restarting the container, this change is lost since I do not mount
/usr/lib/x86_64-linux-gnu/
as a volume to be persistent across "reboots".I don't know if modules have a startup hook where these steps of copying the shared object and running of
ldconfig
could be done there?Screenshots
N/A
Your System (please complete the following information):
Additional context
See Expected behavior
The text was updated successfully, but these errors were encountered: