Skip to content

Commit ecd00c5

Browse files
PenghuiChengyiliu30
authored andcommitted
Set default value for use_bf16 and fixed random seed setting error (#186)
Signed-off-by: Cheng, Penghui <[email protected]> Signed-off-by: yiliu30 <[email protected]>
1 parent 42ed14c commit ecd00c5

File tree

3 files changed

+63
-31
lines changed

3 files changed

+63
-31
lines changed

neural_compressor/conf/config.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -842,7 +842,7 @@ def percent_to_float(data):
842842
},
843843
Optional('optimization_level', default=1): And(int, lambda level: level in [0, 1]),
844844
},
845-
Optional('use_bf16', default=False): bool,
845+
Optional('use_bf16', default=True): bool,
846846
Optional('graph_optimization'): graph_optimization_schema,
847847
Optional('mixed_precision'): mixed_precision_schema,
848848

@@ -1373,6 +1373,10 @@ def map_pyconfig_to_cfg(self, pythonic_config):
13731373
'tuning.tensorboard': pythonic_config.options.tensorboard,
13741374
})
13751375
if pythonic_config.benchmark is not None:
1376+
if pythonic_config.benchmark.inputs != []:
1377+
mapping.update({'model.inputs': pythonic_config.benchmark.inputs})
1378+
if pythonic_config.benchmark.outputs != []:
1379+
mapping.update({'model.outputs': pythonic_config.benchmark.outputs})
13761380
mapping.update({
13771381
'evaluation.performance.warmup': pythonic_config.benchmark.warmup,
13781382
'evaluation.performance.iteration': pythonic_config.benchmark.iteration,

neural_compressor/conf/pythonic_config.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,12 @@ def __init__(self,
3939
max_trials=100,
4040
performance_only=False,
4141
reduce_range=None,
42-
use_bf16=False,
42+
use_bf16=True,
4343
accuracy_criterion=accuracy_criterion):
44+
extra_precisions = ["bf16"] if use_bf16 else []
4445
super().__init__(inputs, outputs, backend, device, calibration_sampling_size, op_type_list,
4546
op_name_list, strategy, objective, timeout, max_trials, performance_only,
46-
reduce_range, use_bf16, accuracy_criterion)
47+
reduce_range, extra_precisions, accuracy_criterion)
4748
self._approach = approach
4849

4950
@property

neural_compressor/config.py

Lines changed: 55 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -136,15 +136,42 @@ def tensorboard(self, tensorboard):
136136

137137

138138
class BenchmarkConfig:
139-
def __init__(self, warmup=5, iteration=-1, cores_per_instance=None, num_of_instance=None,
140-
inter_num_of_threads=None, intra_num_of_threads=None):
139+
def __init__(self,
140+
inputs=[],
141+
outputs=[],
142+
warmup=5,
143+
iteration=-1,
144+
cores_per_instance=None,
145+
num_of_instance=None,
146+
inter_num_of_threads=None,
147+
intra_num_of_threads=None):
148+
self._inputs = inputs
149+
self._outputs = outputs
141150
self._warmup = warmup
142151
self._iteration = iteration
143152
self._cores_per_instance = cores_per_instance
144153
self._num_of_instance = num_of_instance
145154
self._inter_num_of_threads = inter_num_of_threads
146155
self._intra_num_of_threads = intra_num_of_threads
147156

157+
@property
158+
def outputs(self):
159+
return self._outputs
160+
161+
@outputs.setter
162+
def outputs(self, outputs):
163+
if check_value('outputs', outputs, str):
164+
self._outputs = outputs
165+
166+
@property
167+
def inputs(self):
168+
return self._inputs
169+
170+
@inputs.setter
171+
def inputs(self, inputs):
172+
if check_value('inputs', inputs, str):
173+
self._inputs = inputs
174+
148175
@property
149176
def warmup(self):
150177
return self._warmup
@@ -285,7 +312,7 @@ def __init__(self,
285312
max_trials=100,
286313
performance_only=False,
287314
reduce_range=None,
288-
extra_precisions=[],
315+
extra_precisions=["bf16"],
289316
accuracy_criterion=accuracy_criterion):
290317
self._inputs = inputs
291318
self._outputs = outputs
@@ -503,16 +530,16 @@ def strategy(self, strategy):
503530

504531
class PostTrainingQuantConfig(_BaseQuantizationConfig):
505532
def __init__(self,
506-
device='cpu',
533+
device="cpu",
507534
backend="NA",
508535
inputs=[],
509536
outputs=[],
510-
approach='auto',
537+
approach="auto",
511538
calibration_sampling_size=[100],
512539
op_type_list=None,
513540
op_name_list=None,
514541
reduce_range=None,
515-
extra_precisions = [],
542+
extra_precisions = ["bf16"],
516543
tuning_criterion=tuning_criterion,
517544
accuracy_criterion=accuracy_criterion,
518545
):
@@ -551,7 +578,7 @@ def __init__(self,
551578
op_type_list=None,
552579
op_name_list=None,
553580
reduce_range=None,
554-
extra_precisions=[]):
581+
extra_precisions=["bf16"]):
555582
super().__init__(inputs=inputs, outputs=outputs, device=device, backend=backend,
556583
op_type_list=op_type_list, op_name_list=op_name_list,
557584
reduce_range=reduce_range, extra_precisions=extra_precisions)
@@ -789,16 +816,16 @@ def dynamic_axes(self, dynamic_axes):
789816

790817

791818
class Torch2ONNXConfig(ExportConfig):
792-
def __init__(
793-
self,
794-
dtype="int8",
795-
opset_version=14,
796-
quant_format="QDQ",
797-
example_inputs=None,
798-
input_names=None,
799-
output_names=None,
800-
dynamic_axes=None,
801-
**kwargs,
819+
def __init__(
820+
self,
821+
dtype="int8",
822+
opset_version=14,
823+
quant_format="QDQ",
824+
example_inputs=None,
825+
input_names=None,
826+
output_names=None,
827+
dynamic_axes=None,
828+
**kwargs,
802829
):
803830
super().__init__(
804831
dtype=dtype,
@@ -813,16 +840,16 @@ def __init__(
813840

814841

815842
class TF2ONNXConfig(ExportConfig):
816-
def __init__(
817-
self,
818-
dtype="int8",
819-
opset_version=14,
820-
quant_format="QDQ",
821-
example_inputs=None,
822-
input_names=None,
823-
output_names=None,
824-
dynamic_axes=None,
825-
**kwargs,
843+
def __init__(
844+
self,
845+
dtype="int8",
846+
opset_version=14,
847+
quant_format="QDQ",
848+
example_inputs=None,
849+
input_names=None,
850+
output_names=None,
851+
dynamic_axes=None,
852+
**kwargs,
826853
):
827854
super().__init__(
828855
dtype=dtype,
@@ -837,7 +864,7 @@ def __init__(
837864

838865

839866
def set_random_seed(seed: int):
840-
options.random_seed
867+
options.random_seed = seed
841868

842869

843870
def set_workspace(workspace: str):

0 commit comments

Comments
 (0)