Skip to content

Commit

Permalink
Changed command line argpasrse to process '--symmetric [True|False]'. (
Browse files Browse the repository at this point in the history
…#19577)

### Description
<!-- Describe your changes. -->
Accept the command line option --symmetric and its optional value
correctly. If the optional value matches uncased to 'True' then set
symmetric to True else set symmetric to False. Asymmetric quantization
will generate zero_point input.
```
usage: matmul_4bits_quantizer.py [-h] --input_model INPUT_MODEL --output_model OUTPUT_MODEL [--block_size BLOCK_SIZE] [--symmetric [{True,False}]] [--accuracy_level ACCURACY_LEVEL] [-v]
                                 [--nodes_to_exclude NODES_TO_EXCLUDE [NODES_TO_EXCLUDE ...]]
```
### Motivation and Context
<!-- - Why is this change required? What problem does it solve?
- If it fixes an open issue, please link to the issue here. -->
  • Loading branch information
satyajandhyala authored and rachguo committed Feb 21, 2024
1 parent 1aa73b2 commit d636587
Showing 1 changed file with 8 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -349,6 +349,10 @@ def process(self):
self.int4_quant_algo()


def ort_convert_str_to_bool(value):
return value.lower() in ("true", "1")


def parse_args():
parser = argparse.ArgumentParser(
description="""Blockwise int4 quantization for MatMul 2D weight matrices.
Expand All @@ -366,7 +370,10 @@ def parse_args():
"--symmetric",
required=False,
default=True,
type=bool,
const=True,
nargs="?",
type=ort_convert_str_to_bool,
choices=[True, False],
help="Indicate whether to quantize the model symmetrically",
)
parser.add_argument(
Expand Down

0 comments on commit d636587

Please sign in to comment.