diff --git a/PaddleCV/PaddleDetection/slim/infer.py b/PaddleCV/PaddleDetection/slim/infer.py index 96a527f2e15d64ea59a9983049916b1654b2f423..438eb92520f89cd7df5b1161d86b21ad836e6fa1 100644 --- a/PaddleCV/PaddleDetection/slim/infer.py +++ b/PaddleCV/PaddleDetection/slim/infer.py @@ -168,21 +168,23 @@ def main(): imid2path = reader.imid2path keys = ['bbox'] infer_time = True + compile_prog = fluid.compiler.CompiledProgram(infer_prog) + 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 + repeats_time = 100 feed_data_dict = feeder.feed(feed_data); for i in range(warmup_times): - exe.run(infer_prog, + exe.run(compile_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, + exe.run(compile_prog, feed=feed_data_dict, fetch_list=fetch_list, return_numpy=False) @@ -190,7 +192,7 @@ def main(): print("infer time: {} ms/sample".format((time.time()-start_time) * 1000 / repeats_time)) infer_time = False - outs = exe.run(infer_prog, + outs = exe.run(compile_prog, feed=feeder.feed(feed_data), fetch_list=fetch_list, return_numpy=False) diff --git a/PaddleSlim/classification/infer.py b/PaddleSlim/classification/infer.py index 9d5680f3606487618bf81ace5b3dbb9f19b1ed4a..7cc7f967a3cef107228df6b415c47398981b384d 100644 --- a/PaddleSlim/classification/infer.py +++ b/PaddleSlim/classification/infer.py @@ -50,25 +50,26 @@ def infer(args): results=[] #for infer time, if you don't need, please change infer_time to False infer_time = True + compile_prog = fluid.compiler.CompiledProgram(test_program) for batch_id, data in enumerate(test_reader()): # for infer time if infer_time: warmup_times = 10 - repeats_time = 30 + repeats_time = 100 feed_data = feeder.feed(data) for i in range(warmup_times): - exe.run(test_program, + exe.run(compile_prog, feed=feed_data, fetch_list=fetch_targets) start_time = time.time() for i in range(repeats_time): - exe.run(test_program, + exe.run(compile_prog, 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, + result = exe.run(compile_prog, feed=feeder.feed(data), fetch_list=fetch_targets) result = np.array(result[0])