-
Notifications
You must be signed in to change notification settings - Fork 39
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
New arch devel #32
New arch devel #32
Conversation
…vices.bash, and seperate configs
…i.Dockerfile, as well as x86-openvino.Dockerfile - IP address of api server [processor] in config-frontend.ini should be carefully resolved. IP and port should be reachable from where the dashboard is runnning - e.g. if you are forwarding local ports on your server, proper ports also should be forwarded for the api, as it currently looks for 0.0.0.0:8003 from the user's browser ... I also changed a few other things including yarn's timeout and som dockerfile modifications to avoid multiple copies of files related to frontend, it was messing up the dockers if one did not want to build all related dockers [I added scripts for building and running, a good idea is to add them to a docker compose or sth.
New arch working, separate UI, API, and Engine.
…d problems using openvino so moved the _serve out of thread. Let's see when this will cause problems. Added some logic, merged back all the files to the same dockerfile, and made this huge commit. See the diff. It is now working with openvino's dockerfile, and you have to manually send get requests to api to make it work.
result = self._result_queue.get() | ||
return result | ||
|
||
@app.get("/stop-process-video") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have implemented get-config and set-config methods in my new-arch branch, I suggest to merge our codes first and then send a PR on the main repo. @JsonSadler
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great!! I just made it undefined-references#2 and resolved the conflicts, assuming you were using your amd64-usbtpu config file, hope I have not messed up anything in there. Please review and make the PR.
New arch devel
…issues - NOT TESTED
… fixed path operation names in api
Okay I close this PR too as I made lots of fixes and made another PR to @emma-w-dev , merged the work there and she will make the final PR after she is done with her tests. |
Hi,
I have designed the new architecture in which processor's concept is separated into an API and a CORE, both running in a container which actually represents the "processor"'s concept (now runs only on x86 using OpenVino, other platforms should be added). Dashboard is separated based on branch of separate_components.
Please see how the code works, and let me know where the architecture may improve.
Next, I am going to write support for all other platforms, and then I will try to merge #17 into my branch.
Also thanks @emma-w-dev , @mats-claassen and @mhejrati for their help.
Maybe it is a good idea to make a branch for the new-architecture development and remove/merge extra branches into it so we can test all the changes afterwards.
Instructions:
(I suppose you already have the image for frontend)
./download_openvino_model.sh docker build -f frontend.Dockerfile -t "neuralet/smart-social-distancing:latest-frontend" . docker build -f x86-openvino.Dockerfile -t "neuralet/smart-social-distancing:latest-x86_64_openvino" . docker run -it -p 8002:8002 -v "$PWD/data":/repo/data neuralet/smart-social-distancing:latest-run-frontend docker run -it -p 8001:8001 -v "$PWD/data":/repo/data neuralet/smart-social-distancing:latest-x86_64_openvino
You can see the dashboard on
http://127.0.0.1:8002
- not showing anything.Now open your browser and send this request with entering it in the address bar:
http://127.0.0.1:8001/process-video-cfg
Now refresh your dashboard and you see the video being processed and played.
send this to stop processing:
http://127.0.0.1:8001/stop-process-video
and send this to restart the engine - not starting the processing but just restarts it, usefull when you have changed the config for example, let's say the video path (online, without stopping the dockers):
http://127.0.0.1:8001/restart-engine
I appreciate your feedback.