Hi all, I have some questions.
- Does nn_inference support batch processing?
outputs = ssd.nn_inference(cv_img, platform='TFLITE', output_tensor=4, reorder='0 1 2', output_format=output_format.OUT_FORMAT_FLOAT32)
- If yes, how to manage the code so that NPU inference can process multiple frames at the same time. For this case, the batch size is 2. Thank you!
picture = './data/batch/frame_001.jpg'
picture2 = './data/batch/frame_100.jpg'
cv_img = []
img = cv.imread(picture, cv.IMREAD_COLOR)
img2= cv.imread(picture2, cv.IMREAD_COLOR)
cv_img.append(img)
cv_img.append(img2)
outputs = ssd.nn_inference(cv_img, platform='TFLITE', output_tensor=4, reorder='0 1 2', output_format=output_format.OUT_FORMAT_FLOAT32)
input0_data = outputs[0]
input1_data = outputs[2]
input2_data = outputs[1]
input3_data = outputs[3]
input0_data = input0_data.reshape(GRID0, GRID0, SPAN, LISTSIZE).transpose(2, 3, 0, 1)
input1_data = input1_data.reshape(GRID1, GRID1, SPAN, LISTSIZE).transpose(2, 3, 0, 1)
input2_data = input2_data.reshape(GRID2, GRID2, SPAN, LISTSIZE).transpose(2, 3, 0, 1)
input3_data = input3_data.reshape(GRID3, GRID3, SPAN, LISTSIZE).transpose(2, 3, 0, 1)
#input_data = [input0_data, input1_data, input2_data, input3_data]
input_data = list()
input_data.append(np.transpose(input0_data, (2, 3, 0, 1)))
input_data.append(np.transpose(input1_data, (2, 3, 0, 1)))
input_data.append(np.transpose(input2_data, (2, 3, 0, 1)))
input_data.append(np.transpose(input3_data, (2, 3, 0, 1)))
boxes, classes, scores = yolov3_post_process(input_data)
#print(boxes)
if boxes is not None:
draw(img, boxes, scores, classes)
cv.imwrite("output_phrd_tflite.jpg", img)