-
Notifications
You must be signed in to change notification settings - Fork 3k
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
DL models as serverless functions #1767
Conversation
GET /api/v1/lambda/functions GET /api/v1/lambda/functions/public.dextr
- image decoding - restart policy always for the function
Excluding comments above, the PR looks good to me. |
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.
LGTM
Found a typo in dataset_manager (probably old one). Fixed. Another problem was with a polygon with many points but at the same line. The area was 0. |
Confirm. It has been fixed. |
I ran into an issue where I had to pass ./nuctl deploy --project-name cvat \
--path serverless/openvino/dextr/nuclio \
--volume `pwd`/serverless/openvino/common:/opt/nuclio/common \
--platform local Otherwise, I would get this error: Error - the server could not find the requested resource (post nuclioprojects.nuclio.io)
/nuclio/pkg/platform/kube/platform.go:393 This may only be an issue with the latest |
@rushtehrani , dextr isn't showed in the CVAT models list. I don't think that it is right and probably we need to fix it in the future. Now it is filtered explicitly. |
@rushtehrani , I got the same advice about |
Got it. If that's the case, would it make sense to use another example command here that will show up in CVAT? |
Fix #796, fix #792, fix #743, fix #297, fix #296, fix #197, fix #196, fix #896, fix #910, fix #1028, fix #1832, fix #1846, fix #1551
Motivation and context
Before the PR CVAT has all "automatic annotation" features inside one cvat container. CUDA, OpenVINO, extra python packages. Also each "DL model" (such as Mask-RCNN, DEXTR, Faster RCNN) was implemented as a Django application with own REST API. It was very difficult to support new models.
The PR solves most of these issues. All "automatic annotation" features are serverless functions. Current implementation uses nuclio framework (https://github.com/nuclio/nuclio) to deploy and invoke them. Each such serverless function is a separate docker container which can be accessed by HTTP. lambda_manager is Django app which provides convenient
REST API to work with serverless functions:
It is possible to call a function directly using
POST /api/v1/lambda/functions/<name>
or send a requestPOST /api/v1/lambda/requests
.How has this been tested?
It was tested manually.
Checklist
develop
branchcvat-core, cvat-data and cvat-ui)
License
Feel free to contact the maintainers if that's a concern.
Next PR: