Skip to content

Commit daf3524

Browse files
authored
add benchmark_infer (#590)
* add benchmark_infer
1 parent 0d66d0a commit daf3524

11 files changed

+50
-28
lines changed

ppgan/models/base_model.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ def set_requires_grad(self, nets, requires_grad=False):
183183
for param in net.parameters():
184184
param.trainable = requires_grad
185185

186-
def export_model(self, export_model, output_dir=None, inputs_size=[], export_serving_model=False):
186+
def export_model(self, export_model, output_dir=None, inputs_size=[], export_serving_model=False, model_name=None):
187187
inputs_num = 0
188188
for net in export_model:
189189
input_spec = [
@@ -196,11 +196,13 @@ def export_model(self, export_model, output_dir=None, inputs_size=[], export_ser
196196
input_spec=input_spec)
197197
if output_dir is None:
198198
output_dir = 'inference_model'
199+
if model_name is None:
200+
model_name = '{}_{}'.format(self.__class__.__name__.lower(),
201+
net["name"])
199202
paddle.jit.save(
200203
static_model,
201204
os.path.join(
202-
output_dir, '{}_{}'.format(self.__class__.__name__.lower(),
203-
net["name"])))
205+
output_dir, model_name))
204206
if export_serving_model:
205207
from paddle_serving_client.io import inference_model_to_serving
206208
model_name = '{}_{}'.format(self.__class__.__name__.lower(),

ppgan/models/firstorder_model.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ def forward(self, source, kp_source, kp_driving, kp_driving_initial):
214214
kp_driving=kp_norm)
215215
return out['prediction']
216216

217-
def export_model(self, export_model=None, output_dir=None, inputs_size=[], export_serving_model=False):
217+
def export_model(self, export_model=None, output_dir=None, inputs_size=[], export_serving_model=False, model_name=None):
218218

219219
source = paddle.rand(shape=inputs_size[0], dtype='float32')
220220
driving = paddle.rand(shape=inputs_size[1], dtype='float32')

ppgan/models/styleganv2_model.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -310,13 +310,16 @@ def export_model(self,
310310
export_model=None,
311311
output_dir=None,
312312
inputs_size=[[1, 1, 512], [1, 1]],
313-
export_serving_model=False):
313+
export_serving_model=False,
314+
model_name=None):
314315
infer_generator = self.InferGenerator()
315316
infer_generator.set_generator(self.nets['gen'])
316317
style = paddle.rand(shape=inputs_size[0], dtype='float32')
317318
truncation = paddle.rand(shape=inputs_size[1], dtype='float32')
318319
if output_dir is None:
319320
output_dir = 'inference_model'
321+
if model_name is None:
322+
model_name = "stylegan2model_gen"
320323
paddle.jit.save(infer_generator,
321-
os.path.join(output_dir, "stylegan2model_gen"),
324+
os.path.join(output_dir, model_name),
322325
input_spec=[style, truncation])

test_tipc/configs/CycleGAN/train_infer_python.txt

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ python:python3.7
44
gpu_list:0|0,1
55
##
66
auto_cast:null
7-
epochs:lite_train_lite_infer=1|whole_train_whole_infer=200
7+
epochs:lite_train_lite_infer=1|lite_train_whole_infer=1|whole_train_whole_infer=200
88
output_dir:./output/
99
dataset.train.batch_size:lite_train_lite_infer=1|whole_train_whole_infer=1
1010
pretrained_model:null
@@ -27,13 +27,13 @@ null:null
2727
===========================infer_params===========================
2828
--output_dir:./output/
2929
load:null
30-
norm_export:tools/export_model.py -c configs/cyclegan_horse2zebra.yaml --inputs_size="-1,3,-1,-1;-1,3,-1,-1" --load
30+
norm_export:tools/export_model.py -c configs/cyclegan_horse2zebra.yaml --inputs_size="-1,3,-1,-1;-1,3,-1,-1" --model_name inference --load
3131
quant_export:null
3232
fpgm_export:null
3333
distill_export:null
3434
export1:null
3535
export2:null
36-
inference_dir:cycleganmodel_netG_A
36+
inference_dir:inference
3737
train_model:./inference/cyclegan_horse2zebra/cycleganmodel_netG_A
3838
infer_export:null
3939
infer_quant:False
@@ -54,4 +54,6 @@ batch_size:1
5454
fp_items:fp32
5555
epoch:1
5656
--profiler_options:batch_range=[10,20];state=GPU;tracer_option=Default;profile_path=model.profile
57-
flags:null
57+
flags:null
58+
===========================infer_benchmark_params==========================
59+
random_infer_input:[{float32,[3,256,256]}]

test_tipc/configs/FOMM/train_infer_python.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ python:python3.7
44
gpu_list:0
55
##
66
auto_cast:null
7-
epochs:lite_train_lite_infer=1|whole_train_whole_infer=100
7+
epochs:lite_train_lite_infer=1|lite_train_whole_infer=1|whole_train_whole_infer=100
88
output_dir:./output/
99
dataset.train.batch_size:lite_train_lite_infer=8|whole_train_whole_infer=8
1010
pretrained_model:null

test_tipc/configs/Pix2pix/train_infer_python.txt

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ python:python3.7
44
gpu_list:0
55
##
66
auto_cast:null
7-
epochs:lite_train_lite_infer=10|whole_train_whole_infer=200
7+
epochs:lite_train_lite_infer=10|lite_train_whole_infer=10|whole_train_whole_infer=200
88
output_dir:./output/
99
dataset.train.batch_size:lite_train_lite_infer=1|whole_train_whole_infer=1
1010
pretrained_model:null
@@ -27,13 +27,13 @@ null:null
2727
===========================infer_params===========================
2828
--output_dir:./output/
2929
load:null
30-
norm_export:tools/export_model.py -c configs/pix2pix_facades.yaml --inputs_size="-1,3,-1,-1" --load
30+
norm_export:tools/export_model.py -c configs/pix2pix_facades.yaml --inputs_size="-1,3,-1,-1" --model_name inference --load
3131
quant_export:null
3232
fpgm_export:null
3333
distill_export:null
3434
export1:null
3535
export2:null
36-
inference_dir:pix2pixmodel_netG
36+
inference_dir:inference
3737
train_model:./inference/pix2pix_facade/pix2pixmodel_netG
3838
infer_export:null
3939
infer_quant:False
@@ -54,4 +54,6 @@ batch_size:1
5454
fp_items:fp32
5555
epoch:10
5656
--profiler_options:batch_range=[10,20];state=GPU;tracer_option=Default;profile_path=model.profile
57-
flags:null
57+
flags:null
58+
===========================infer_benchmark_params==========================
59+
random_infer_input:[{float32,[3,256,256]}]

test_tipc/configs/StyleGANv2/train_infer_python.txt

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ python:python3.7
44
gpu_list:0
55
##
66
auto_cast:null
7-
total_iters:lite_train_lite_infer=10|whole_train_whole_infer=800
7+
total_iters:lite_train_lite_infer=10|lite_train_whole_infer=10|whole_train_whole_infer=800
88
output_dir:./output/
99
dataset.train.batch_size:lite_train_lite_infer=3|whole_train_whole_infer=3
1010
pretrained_model:null
@@ -27,13 +27,13 @@ null:null
2727
===========================infer_params===========================
2828
--output_dir:./output/
2929
load:null
30-
norm_export:tools/export_model.py -c configs/stylegan_v2_256_ffhq.yaml --inputs_size="1,1,512;1,1" --load
30+
norm_export:tools/export_model.py -c configs/stylegan_v2_256_ffhq.yaml --inputs_size="1,1,512;1,1" --model_name inference --load
3131
quant_export:null
3232
fpgm_export:null
3333
distill_export:null
3434
export1:null
3535
export2:null
36-
inference_dir:stylegan2model_gen
36+
inference_dir:inference
3737
train_model:./inference/stylegan2/stylegan2model_gen
3838
infer_export:null
3939
infer_quant:False
@@ -54,4 +54,6 @@ batch_size:8|16
5454
fp_items:fp32
5555
epoch:100
5656
--profiler_options:batch_range=[10,20];state=GPU;tracer_option=Default;profile_path=model.profile
57-
flags:null
57+
flags:null
58+
===========================infer_benchmark_params==========================
59+
random_infer_input:[{float32,[1,512]}, {float32,[1]}]

test_tipc/configs/basicvsr/train_infer_python.txt

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ python:python3.7
44
gpu_list:0
55
##
66
auto_cast:null
7-
total_iters:lite_train_lite_infer=10|whole_train_whole_infer=200
7+
total_iters:lite_train_lite_infer=10|lite_train_whole_infer=10|whole_train_whole_infer=200
88
output_dir:./output/
99
dataset.train.batch_size:lite_train_lite_infer=1|whole_train_whole_infer=1
1010
pretrained_model:null
@@ -27,13 +27,13 @@ null:null
2727
===========================infer_params===========================
2828
--output_dir:./output/
2929
load:null
30-
norm_export:tools/export_model.py -c configs/basicvsr_reds.yaml --inputs_size="1,6,3,180,320" --load
30+
norm_export:tools/export_model.py -c configs/basicvsr_reds.yaml --inputs_size="1,6,3,180,320" --model_name inference --load
3131
quant_export:null
3232
fpgm_export:null
3333
distill_export:null
3434
export1:null
3535
export2:null
36-
inference_dir:basicvsrmodel_generator
36+
inference_dir:inference
3737
train_model:./inference/basicvsr/basicvsrmodel_generator
3838
infer_export:null
3939
infer_quant:False
@@ -54,4 +54,6 @@ batch_size:2|4
5454
fp_items:fp32
5555
total_iters:50
5656
--profiler_options:batch_range=[10,20];state=GPU;tracer_option=Default;profile_path=model.profile
57-
flags:null
57+
flags:null
58+
===========================infer_benchmark_params==========================
59+
random_infer_input:[{float32,[6,3,180,320]}]

test_tipc/configs/msvsr/train_infer_python.txt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ python:python3.7
44
gpu_list:0
55
##
66
auto_cast:null
7-
total_iters:lite_train_lite_infer=10|whole_train_whole_infer=200
7+
total_iters:lite_train_lite_infer=10|lite_train_whole_infer=10|whole_train_whole_infer=200
88
output_dir:./output/
99
dataset.train.batch_size:lite_train_lite_infer=1|whole_train_whole_infer=1
1010
pretrained_model:null
@@ -27,13 +27,13 @@ null:null
2727
===========================infer_params===========================
2828
--output_dir:./output/
2929
load:null
30-
norm_export:tools/export_model.py -c configs/msvsr_reds.yaml --inputs_size="1,2,3,180,320" --load
30+
norm_export:tools/export_model.py -c configs/msvsr_reds.yaml --inputs_size="1,2,3,180,320" --model_name inference --load
3131
quant_export:null
3232
fpgm_export:null
3333
distill_export:null
3434
export1:null
3535
export2:null
36-
inference_dir:multistagevsrmodel_generator
36+
inference_dir:inference
3737
train_model:./inference/msvsr/multistagevsrmodel_generator
3838
infer_export:null
3939
infer_quant:False
@@ -49,3 +49,5 @@ null:null
4949
null:null
5050
--benchmark:True
5151
null:null
52+
===========================infer_benchmark_params==========================
53+
random_infer_input:[{float32,[2,3,180,320]}]

test_tipc/test_train_inference_python.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ save_log_key=$(func_parser_key "${lines[48]}")
7373
infer_key1=$(func_parser_key "${lines[50]}")
7474
infer_value1=$(func_parser_value "${lines[50]}")
7575

76-
LOG_PATH="./test_tipc/output"
76+
LOG_PATH="./test_tipc/output/${model_name}"
7777
mkdir -p ${LOG_PATH}
7878
status_log="${LOG_PATH}/results_python.log"
7979

tools/export_model.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,12 @@ def parse_args():
5757
type=bool,
5858
help="export serving model.",
5959
)
60+
parser.add_argument(
61+
"--model_name",
62+
default=None,
63+
type=str,
64+
help="model_name.",
65+
)
6066
args = parser.parse_args()
6167
return args
6268

@@ -70,7 +76,8 @@ def main(args, cfg):
7076
for net_name, net in model.nets.items():
7177
if net_name in state_dicts:
7278
net.set_state_dict(state_dicts[net_name])
73-
model.export_model(cfg.export_model, args.output_dir, inputs_size, args.export_serving_model)
79+
model.export_model(cfg.export_model, args.output_dir, inputs_size,
80+
args.export_serving_model, args.model_name)
7481

7582

7683
if __name__ == "__main__":

0 commit comments

Comments
 (0)