Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Time 如何测量每幅图像预测的执行时间(keras)_Time_Keras_Execution_Predict - Fatal编程技术网

Time 如何测量每幅图像预测的执行时间(keras)

Time 如何测量每幅图像预测的执行时间(keras),time,keras,execution,predict,Time,Keras,Execution,Predict,我用Keras创建了一个简单的模型,我需要测量每个图像预测的执行时间。现在我只是这样做: start=time.clock() 我的模型预测(图像测试) end=time.clock() 打印(“每张图像的时间:{}”。格式((结束-开始)/len(图像测试))) 但是我注意到,当len(images_test)较小时,计算的时间会较大。例如,当len(images_test)=32时,我得到:0.06;当len(images_test)=1024时,我得到:0.006 有没有“正确”的方法

我用Keras创建了一个简单的模型,我需要测量每个图像预测的执行时间。现在我只是这样做:

start=time.clock()
我的模型预测(图像测试)
end=time.clock()
打印(“每张图像的时间:{}”。格式((结束-开始)/len(图像测试)))
但是我注意到,当len(images_test)较小时,计算的时间会较大。例如,当len(images_test)=32时,我得到:0.06;当len(images_test)=1024时,我得到:0.006


有没有“正确”的方法

如果使用TF,似乎没有异步问题
但如果使用pytorch,则会出现异步问题
在TF中:

在pytorch中:

torch.cuda.synchronize()
start = time.clock() 
my_model.predict(images_test)
torch.cuda.synchronize()
end = time.clock()
但我认为你可以做10次循环模型预测
和打印时间列表
(计算机需要加载keras模型,因此第一次加载比其他时间慢)

在TF中:

pred_time_list=[]
for i in range(10):
    start = time.clock() 
    result=my_model.predict(images_test)
    end = time.clock()
    pred_time_list.appebd( end-start )
print(pred_time_list) 
(打印pred_time_列表,您可能会发现时间不正确的原因)
参考:
[1]

[2]

你可能是用正确的方法做的。是的,有一个开销时间(模型为初始化和完成处理而做其他事情所花费的时间)应该是很自然的。由于并行化(特别是在GPU中),自然也可以更快地处理许多图像
pred_time_list=[]
for i in range(10):
    start = time.clock() 
    result=my_model.predict(images_test)
    end = time.clock()
    pred_time_list.appebd( end-start )
print(pred_time_list)