требуется байтовоподобный объект, а не «список» - PullRequest
0 голосов
/ 20 июня 2019

Я пытаюсь протестировать INT8 TnesroRT engine с несколькими изображениями.

Размер пакета равен 5. Поскольку размер изображения 3x640x480, поэтому массив создан для 5 из 3640 480 изображений, таких как

images=[0 for x in range(921600*5)] 

Затем изображения помещаются как

for i in range(1,6):  
       image = cv2.imread('CalibrationData/test/'+testfiles[index+i],cv2.IMREAD_COLOR)
       image = np.array(image, dtype=np.float32, order='C') 
       image=image.transpose([2, 0, 1])
       images[i-1*921600:i*921600-1]=image.flatten()

Затем выполните вывод как

with engine.create_execution_context() as context:
      fps_time = time.time()
      inputs, outputs, bindings, stream = common.allocate_buffers(engine)     
      inputs[0].host = images
      [outputs] = common.do_inference(context, bindings, inputs, outputs, stream, 1)

Но ошибка в этой строке вывода

[outputs] = common.do_inference(context, bindings, inputs, outputs, stream, 1)

TypeError: a bytes-like object is required, not 'list'

Какой должен быть форматсделать вывод?Я сделал то же самое для 1 изображения.Это было хорошо.

...