model:                                               # mandatory. used to specify model specific information.
  name: gpt2 
  framework: onnxrt_integerops                       # mandatory. possible values are tensorflow, mxnet, pytorch, pytorch_ipex, onnxrt_integerops and onnxrt_qlinearops.

quantization:
  approach: post_training_dynamic_quant              # optional. default value is post_training_static_quant.

  op_wise: {
     'MatMul_2924':{
     'activation':  {'dtype': ['fp32']},
     'weight': {'dtype': ['fp32']}
     },
     'Gather_19':{
     'activation':  {'dtype': ['fp32']},
     'weight': {'dtype': ['fp32']}
     },     
    'Attention_1_matmul':{
     'activation':  {'dtype': ['fp32']},
     'weight': {'dtype': ['fp32']}
     },
    'Attention_3_matmul':{
     'activation':  {'dtype': ['fp32']},
     'weight': {'dtype': ['fp32']}
     },   
    'Attention_5_matmul':{
     'activation':  {'dtype': ['fp32']},
     'weight': {'dtype': ['fp32']}
     },       
    'FullyConnect_MatMul36':{
     'activation':  {'dtype': ['fp32']},
     'weight': {'dtype': ['fp32']}
     },
    'FullyConnect_MatMul33': {
     'activation':  {'dtype': ['fp32']},
     'weight': {'dtype': ['fp32']}
     },   
    'FullyConnect_MatMul30': {
     'activation':  {'dtype': ['fp32']},
     'weight': {'dtype': ['fp32']}
     }, 
    'FullyConnect_MatMul27': {
     'activation':  {'dtype': ['fp32']},
     'weight': {'dtype': ['fp32']}
     },    
    'FullyConnect_MatMul24': {
     'activation':  {'dtype': ['fp32']},
     'weight': {'dtype': ['fp32']}
     },  
    'FullyConnect_MatMul23': {
     'activation':  {'dtype': ['fp32']},
     'weight': {'dtype': ['fp32']}
     },  
    'FullyConnect_MatMul20': {
     'activation':  {'dtype': ['fp32']},
     'weight': {'dtype': ['fp32']}
     },     
    'FullyConnect_MatMul15': {
     'activation':  {'dtype': ['fp32']},
     'weight': {'dtype': ['fp32']}
     }, 
    'FullyConnect_MatMul14': {
     'activation':  {'dtype': ['fp32']},
     'weight': {'dtype': ['fp32']}
     },
    'FullyConnect_MatMul12': {
     'activation':  {'dtype': ['fp32']},
     'weight': {'dtype': ['fp32']}
     }, 
    'FullyConnect_MatMul11': {
     'activation':  {'dtype': ['fp32']},
     'weight': {'dtype': ['fp32']}
     },    
    'FullyConnect_MatMul9': {
     'activation':  {'dtype': ['fp32']},
     'weight': {'dtype': ['fp32']}
     },    
    'FullyConnect_MatMul8': {
     'activation':  {'dtype': ['fp32']},
     'weight': {'dtype': ['fp32']}
     }, 
    'FullyConnect_MatMul6': {
     'activation':  {'dtype': ['fp32']},
     'weight': {'dtype': ['fp32']}
     },
    'FullyConnect_MatMul3': {
     'activation':  {'dtype': ['fp32']},
     'weight': {'dtype': ['fp32']}
     },    
    'FullyConnect_MatMul2': {
     'activation':  {'dtype': ['fp32']},
     'weight': {'dtype': ['fp32']}
     },                                          
   }

tuning:
  accuracy_criterion:
    relative:  0.01                                 # optional. default value is relative, other value is absolute. this example allows relative accuracy loss: 1%.
  exit_policy:
    timeout: 0                                       # optional. tuning timeout (seconds). default value is 0 which means early stop. combine with max_trials field to decide when to exit.
  random_seed: 9527                                  # optional. random seed for deterministic tuning.
