Определение времени, необходимого для прогнозирования тестового изображения eact

#keras

#keras

Вопрос:

Я использую модель LSTM в Keras для классификации изображений. При прогнозировании тестовых изображений я хочу записать время, необходимое (в мс) для прогнозирования каждого тестового изображения. Какие есть способы это сделать?

Ответ №1:

Для вычисления разницы во времени в Python мы используем модуль time.

 import time

t1 = time.time()
model.predict( ... )
# Testing has finished 
t2 = time.time()
print( 'Time taken was {} seconds'.format( t2 - t1))
  

Для записной книжки Jupyter поместите этот тег в начало ячейки.

 %%time
  

Если предположить, что прогнозирование 10 изображений занимает 3 секунды или 3000 миллисекунд, то для 1 изображения время составит 300 миллисекунд или 0,3 секунды. Это можно рассматривать как приблизительную оценку

Комментарии:

1. Проблема в том, что мне нужно получить время, затрачиваемое на каждое изображение. Одна из идей состоит в том, чтобы взять каждое тестовое изображение и спрогнозировать их отдельно. В этом случае приведенный выше ответ хорош. Но если я хочу отправить все тестовые изображения вместе в функцию прогнозирования, тогда я получу время прогнозирования для всех изображений, а не для каждого.

2. Вы можете разделить время, затраченное на количество изображений. Я отредактировал ответ.

3. Спасибо, но я не думаю, что для классификации каждого изображения требуется одинаковое время.

4. Тестирование каждого изображения является внутренним в keras, и, следовательно, вычисление времени может быть невозможным. Приведенный выше метод может дать приблизительную оценку, если изображения имеют одинаковый размер.