#
# Copyright (c) 2021 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

model:                                               # mandatory. used to specify model specific information.
  name: ssd_resnet34
  framework: pytorch_fx                              # mandatory. this model runs on pytorch framework

quantization:                                        # optional. tuning constraints on model-wise for advance user to reduce tuning space.
  approach: post_training_static_quant               # mandatory. default value is post_training_dynamic_quant.   
  calibration:
    sampling_size: 50 100 500                        # optional. default value is 100. used to set how many samples should be used in calibration.
    dataloader:                                      # optional. if not specified, user need construct a q_dataloader in code for neural_compressor.Quantization.
      batch_size: 1
      dataset:
        COCONpy:
          root: ./                                   # mandatory. relative path or absolute path
          npy_dir: preprocessed/coco-1200-pt/NCHW/val2017/                 # mandatory. relative path to root or absolute path
          anno_dir: convert_dataset/annotations/instances_val2017.json     # optional.  relative path to root or absolute path

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.
    max_trials: 600
  random_seed: 9527                                  # optional. random seed for deterministic tuning.
