|
- from argparse import ArgumentParser
-
- import acuitylib.app.medusa as medusa
-
-
- def model_quantize(model, model_data, qtype, quantizer, with_input_meta):
- parser = ArgumentParser()
- parser.add_argument('--algorithm', type=str, default='normal')
- parser.add_argument('--batch_size', type=int, default=0)
- parser.add_argument('--compute_entropy', type=bool, default=False)
- parser.add_argument('--device')
- parser.add_argument('--divergence_first_quantize_bits',
- type=int, default=11)
- parser.add_argument('--divergence_nbins', type=int, default=0)
- parser.add_argument('--hybrid', type=bool, default=False)
- parser.add_argument('--iterations', type=int, default=1)
- parser.add_argument('model', type=str)
- parser.add_argument('model_data', type=str)
- parser.add_argument('--model_quantize', help='')
- parser.add_argument('--moving_average_weight', type=float, default=0.01)
- parser.add_argument('--output_dir', type=str, default=0)
- parser.add_argument('qtype', type=str, default='uint8')
- parser.add_argument('quantizer', type=str, default='asymmetric_affine')
- parser.add_argument('--rebuild', type=bool, default=True)
- parser.add_argument('--rebuild_all', type=bool, default=False)
- parser.add_argument('--which', type=str, default='quantize')
- parser.add_argument('with_input_meta', type=str)
- args = parser.parse_args(
- [model, model_data, qtype, quantizer, with_input_meta])
- ret = 0
- try:
- ret = medusa.execute(args)
- except Exception as e:
- if isinstance(e, FileNotFoundError):
- return -20
- elif isinstance(e, ValueError):
- return -21
- raise
- return ret
|