Как рассчитать время, затрачиваемое на каждый слой в CNN с интерфейсом caffe?

Я пытался рассчитать время, затрачиваемое на каждый слой в сети fast-rcnn. Я узнал, что caffe cmd interface caffe time может это сделать. Но fast-rcnn основан на коде Python, есть ли какая-либо функция в интерфейсе Python, которая может помочь мне рассчитать время?


person super pika    schedule 18.01.2016    source источник


Ответы (2)


Python имеет инструменты профилирования. Вы можете просмотреть timeit и cProfile.
Если вы ищете что-то более простое, вы можете использовать модуль time для измерения времени:

import time
t = time.time()
run_rcnn_script()
dt = time.time()-t
print "time spent in run_rcnn_script: ", dt, " sec."
person Shai    schedule 18.01.2016

Для расчета времени, проведенного на каждом слое

import timeit

t1=timeit.default_timer()
net.forward(start='start_layer_name',end='end_layer_name')
t2=timeit.default_timer()

print 'time is {}'.format(t2-t1)
person curio17    schedule 09.03.2017