diff --git a/PaddleCV/PaddleDetection/slim/infer.py b/PaddleCV/PaddleDetection/slim/infer.py index 4a212ad6b385fbc5e10dd8e04a8934645c3bd689..96a527f2e15d64ea59a9983049916b1654b2f423 100644 --- a/PaddleCV/PaddleDetection/slim/infer.py +++ b/PaddleCV/PaddleDetection/slim/infer.py @@ -19,6 +19,7 @@ from __future__ import print_function import os import sys import glob +import time import numpy as np from PIL import Image @@ -166,8 +167,29 @@ def main(): imid2path = reader.imid2path keys = ['bbox'] + infer_time = True for iter_id, data in enumerate(reader()): feed_data = [[d[0], d[1]] for d in data] + # for infer time + if infer_time: + warmup_times = 10 + repeats_time = 30 + feed_data_dict = feeder.feed(feed_data); + for i in range(warmup_times): + exe.run(infer_prog, + feed=feed_data_dict, + fetch_list=fetch_list, + return_numpy=False) + start_time = time.time() + for i in range(repeats_time): + exe.run(infer_prog, + feed=feed_data_dict, + fetch_list=fetch_list, + return_numpy=False) + + print("infer time: {} ms/sample".format((time.time()-start_time) * 1000 / repeats_time)) + infer_time = False + outs = exe.run(infer_prog, feed=feeder.feed(feed_data), fetch_list=fetch_list, diff --git a/PaddleCV/PaddleDetection/slim/quantization/README.md b/PaddleCV/PaddleDetection/slim/quantization/README.md index f8378776584c0d5cae5d8507624b00b674e84d1f..c151678b7c08f8eb6fa5b9bf516832e6f75b3dea 100644 --- a/PaddleCV/PaddleDetection/slim/quantization/README.md +++ b/PaddleCV/PaddleDetection/slim/quantization/README.md @@ -228,7 +228,7 @@ FP32模型可使用PaddleLite进行加载预测,可参见教程[Paddle-Lite如 >当前release的结果并非超参调优后的最好结果,仅做示例参考,后续我们会优化当前结果。 -### MobileNetV1 +### MobileNetV1-YOLO-V3 | weight量化方式 | activation量化方式| Box ap |Paddle Fluid inference time(ms)| Paddle Lite inference time(ms)| |---|---|---|---|---| @@ -237,8 +237,6 @@ FP32模型可使用PaddleLite进行加载预测,可参见教程[Paddle-Lite如 |abs_max|moving_average_abs_max|- |- |-| |channel_wise_abs_max|abs_max|- |- |-| ->训练超参: - ## FAQ diff --git a/PaddleSlim/classification/infer.py b/PaddleSlim/classification/infer.py index 9f87230153d70b0bf4bfda382f641f15f7915617..9d5680f3606487618bf81ace5b3dbb9f19b1ed4a 100644 --- a/PaddleSlim/classification/infer.py +++ b/PaddleSlim/classification/infer.py @@ -17,6 +17,7 @@ import sys import numpy as np import argparse import functools +import time import paddle import paddle.fluid as fluid @@ -46,9 +47,26 @@ def infer(args): test_reader = paddle.batch(reader.test(), batch_size=1) feeder = fluid.DataFeeder(place=place, feed_list=feed_target_names, program=test_program) - results=[] + results=[] + #for infer time, if you don't need, please change infer_time to False + infer_time = True for batch_id, data in enumerate(test_reader()): - + # for infer time + if infer_time: + warmup_times = 10 + repeats_time = 30 + feed_data = feeder.feed(data) + for i in range(warmup_times): + exe.run(test_program, + feed=feed_data, + fetch_list=fetch_targets) + start_time = time.time() + for i in range(repeats_time): + exe.run(test_program, + feed=feed_data, + fetch_list=fetch_targets) + print("infer time: {} ms/sample".format((time.time()-start_time) * 1000 / repeats_time)) + infer_time = False # top1_acc, top5_acc result = exe.run(test_program, feed=feeder.feed(data),