diff --git a/python/paddle/fluid/contrib/slim/quantization/post_training_quantization.py b/python/paddle/fluid/contrib/slim/quantization/post_training_quantization.py index 668aa12210cea1a8b926812e5f999691951a1b84..eace86e71aeeb27fcc5d939e19164b43e33676ae 100644 --- a/python/paddle/fluid/contrib/slim/quantization/post_training_quantization.py +++ b/python/paddle/fluid/contrib/slim/quantization/post_training_quantization.py @@ -1055,6 +1055,8 @@ class PostTrainingQuantization(object): max_scale = None tmp_tensor_list = [] for tensor_name in tensor_list: + if tensor_name not in scale_dict.keys(): + continue if '#' in tensor_name: real_tensor_name, opera, scalar = tensor_name.split( '#') @@ -1075,6 +1077,8 @@ class PostTrainingQuantization(object): max_scale, scale_dict[tensor_name]) for tensor_name in tensor_list: + if tensor_name not in scale_dict.keys(): + continue if '#' in tensor_name: real_tensor_name, opera, scalar = tensor_name.split( '#') diff --git a/python/paddle/fluid/contrib/slim/tests/test_post_training_quantization_program_resnet50.py b/python/paddle/fluid/contrib/slim/tests/test_post_training_quantization_program_resnet50.py index 3709d497a634d46b93a2bd61531d0477d8fd1fae..b6af3cc449aed4138b22efe0d1264211ad0e7330 100644 --- a/python/paddle/fluid/contrib/slim/tests/test_post_training_quantization_program_resnet50.py +++ b/python/paddle/fluid/contrib/slim/tests/test_post_training_quantization_program_resnet50.py @@ -183,7 +183,11 @@ class TestPostTrainingQuantizationProgram(TestPostTrainingQuantization): val_reader = val() same_scale_tensor_list = [[ 'batch_norm_3.tmp_2#/#1', 'batch_norm_4.tmp_2#*#1' - ], ['batch_norm_27.tmp_2', 'batch_norm_26.tmp_2']] + ], ['batch_norm_27.tmp_2', 'batch_norm_26.tmp_2'], + [ + 'test_scale_name_not_in_scale_dict1', + 'test_scale_name_not_in_scale_dict1' + ]] ptq = PostTrainingQuantizationProgram( executor=exe, program=program,