Commit 84895d25 authored by Alexander Alekhin's avatar Alexander Alekhin

Merge pull request #16414 from alalek:samples_fix_async

parents bd66f76f d0e02ccc
...@@ -43,6 +43,7 @@ parser.add_argument('--target', choices=targets, default=cv.dnn.DNN_TARGET_CPU, ...@@ -43,6 +43,7 @@ parser.add_argument('--target', choices=targets, default=cv.dnn.DNN_TARGET_CPU,
'%d: OpenCL fp16 (half-float precision), ' '%d: OpenCL fp16 (half-float precision), '
'%d: VPU' % targets) '%d: VPU' % targets)
parser.add_argument('--async', type=int, default=0, parser.add_argument('--async', type=int, default=0,
dest='asyncN',
help='Number of asynchronous forwards at the same time. ' help='Number of asynchronous forwards at the same time. '
'Choose 0 for synchronous mode') 'Choose 0 for synchronous mode')
args, _ = parser.parse_known_args() args, _ = parser.parse_known_args()
...@@ -231,8 +232,8 @@ def processingThreadBody(): ...@@ -231,8 +232,8 @@ def processingThreadBody():
try: try:
frame = framesQueue.get_nowait() frame = framesQueue.get_nowait()
if args.async: if args.asyncN:
if len(futureOutputs) == args.async: if len(futureOutputs) == args.asyncN:
frame = None # Skip the frame frame = None # Skip the frame
else: else:
framesQueue.queue.clear() # Skip the rest of frames framesQueue.queue.clear() # Skip the rest of frames
...@@ -256,7 +257,7 @@ def processingThreadBody(): ...@@ -256,7 +257,7 @@ def processingThreadBody():
frame = cv.resize(frame, (inpWidth, inpHeight)) frame = cv.resize(frame, (inpWidth, inpHeight))
net.setInput(np.array([[inpHeight, inpWidth, 1.6]], dtype=np.float32), 'im_info') net.setInput(np.array([[inpHeight, inpWidth, 1.6]], dtype=np.float32), 'im_info')
if args.async: if args.asyncN:
futureOutputs.append(net.forwardAsync()) futureOutputs.append(net.forwardAsync())
else: else:
outs = net.forward(outNames) outs = net.forward(outNames)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment