-
Notifications
You must be signed in to change notification settings - Fork 179
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
Productionize Soccer Stream Detection #2431
Conversation
Codecov Report
@@ Coverage Diff @@
## master #2431 +/- ##
===================================================
- Coverage 55.02775% 54.91662% -0.11113%
===================================================
Files 94 94
Lines 19641 19668 +27
===================================================
- Hits 10808 10801 -7
- Misses 8236 8271 +35
+ Partials 597 596 -1
Continue to review full report at Codecov.
|
Converting this to draft, because discovered the following while testing:
|
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.
Looks good, do we have any metrics around this at the moment? It'd be good when we begin testing to be able to see how many detections we're getting
No, there are no metrics there. I expect that classification results will be reported through webhook, and metrics probably should be logged on that end. |
@@ -458,15 +458,6 @@ func TestParseAccelDevices_WrongDriver(t *testing.T) { | |||
getPCI = originGetPCI | |||
} | |||
|
|||
func TestParseAccelDevices_FailedDetection(t *testing.T) { |
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.
@red-0ne what is the purpose of this test? It always fails, if Nvidia GPU is present.
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.
You are right. I think it should setup its GetGPU
/GetCPU
The idea was to fail when no GPUs or appropriate PCI devices are detected (it fails now if you have a real one)
A minimal resolution would be
getGPU = func() ([]*gpu.GraphicsCard, error) {
return []*gpu.GraphicsCard{}, nil
}
getPCI = func() ([]*pci.Device, error) {
return []*pci.Device{}, nil
}
What does this pull request do? Explain your changes. (required)
Make content detection functionality production-ready.
Limitations
Current implementation de facto uses a separate ad-hoc data stream to output results - the webhook. Detection results are not included with the renditions, because the DNN filter is run in a separate output, which doesn't produce any renditions. Model output is included into AVFrame metadata only for the purpose of transferring data back to LPMS. This would work for internal process of unwanted content detection, but the process needs to be re-worked to produce 'output stream' to end user, if required in the future for ML capabilities.
Specific updates (required)
-detectContent
command line flag to enable content detection for transcoderHow did you test each of these updates (required)
Does this pull request close any open issues?
#2394
Checklist:
make
runs successfully./test.sh
passTBD: more tests for standalone T