Я оцениваю модель Tensorflow на открытых кадрах видео.Мне нужно преобразовать входящий образ PIL в измененный массив NumPy так, чтобы я мог выполнить вывод на нем.Но я вижу, что преобразование образа PIL в массив NumPy занимает около 900+ миллисекунд на моем ноутбуке с 16 ГБ памяти и 2,6 ГГц процессором Intel Core i7.Мне нужно уменьшить это до нескольких миллисекунд, чтобы я мог обрабатывать несколько кадров в секунду на моей камере.
Кто-нибудь может подсказать, как ускорить приведенный ниже метод?
def load_image_into_numpy_array(pil_image):
(im_width, im_height) = pil_image.size
data = pil_image.getdata()
data_array = np.array(data)
return data_array.reshape((im_height, im_width, 3)).astype(np.uint8)
При дальнейшем инструментировании я понял, что np.array(data)
занимает большую часть времени ... близко к 900+миллисекунды.Таким образом, преобразование данных изображения в массив numpy является реальным виновником.