Skip to content

Commit 58ef47c

Browse files
authored
fix diagnosis issue (#1328)
1 parent c240bf6 commit 58ef47c

File tree

2 files changed

+11
-5
lines changed

2 files changed

+11
-5
lines changed

neural_compressor/adaptor/ox_utils/onnxrt_mid.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ def augment_graph(self, activation_only=False, weight_only=False):
183183

184184
self.augmented_model = model
185185

186-
def get_intermediate_outputs(self):
186+
def get_intermediate_outputs(self, calib_mode=None):
187187
'''
188188
Gather intermediate model outputs after running inference
189189
:return: dictionary mapping: {node output tensor names: node output tensor }
@@ -228,14 +228,20 @@ def get_intermediate_outputs(self):
228228
break
229229
if idx in self.iterations:
230230
for output_idx, output in enumerate(session.run(None, ort_inputs)):
231-
if output.size != 0:
231+
if calib_mode == 'naive' and output.size != 0:
232232
output_dicts.setdefault(node_output_names[output_idx], \
233233
[]).append([output.min(), output.max()])
234+
elif calib_mode == None:
235+
output_dicts.setdefault(node_output_names[output_idx], \
236+
[]).append(output)
234237
else:
235238
for output_idx, output in enumerate(session.run(None, ort_inputs)):
236-
if output.size != 0:
239+
if calib_mode == 'naive' and output.size != 0:
237240
output_dicts.setdefault(node_output_names[output_idx], \
238241
[]).append([output.min(), output.max()])
242+
elif calib_mode == None:
243+
output_dicts.setdefault(node_output_names[output_idx], \
244+
[]).append(output)
239245

240246
return list(output_dicts.keys()), output_dicts
241247

@@ -344,7 +350,7 @@ def _map_calibration(self, node_output_names, output_dicts, calib_mode='naive'):
344350

345351
def dump_minmax(self, calib_mode='naive'):
346352
self.augment_graph()
347-
node_output_names, output_dicts = self.get_intermediate_outputs()
353+
node_output_names, output_dicts = self.get_intermediate_outputs(calib_mode)
348354
return self._map_calibration(node_output_names, output_dicts,
349355
calib_mode=calib_mode)
350356

test/adaptor/onnxrt_adaptor/test_onnxrt_augment.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -503,7 +503,7 @@ def test_quant_param_calculation(self):
503503
#test calculation of quantization params
504504
#TO_DO: check rmin/rmax
505505
quantization_params_dict = augment.dump_calibration()
506-
node_output_names, output_dicts_list = augment.get_intermediate_outputs()
506+
node_output_names, output_dicts_list = augment.get_intermediate_outputs('naive')
507507
dict_for_quantization = augment._map_calibration(node_output_names, output_dicts_list)
508508
#check the size of the quantization dictionary
509509
self.assertEqual(len(quantization_params_dict), 12)

0 commit comments

Comments
 (0)