# Copyright (c) 2020 Horizon Robotics.All Rights Reserved.
#
# The material in this file is confidential and contains trade secrets
# of Horizon Robotics Inc. This is proprietary information owned by
# Horizon Robotics Inc. No part of this work may be disclosed,
# reproduced, copied, transmitted, or used in any way for any purpose,
# without the express written permission of Horizon Robotics Inc.

# Model conversion related parameters
model_parameters:
  # The onnx floating-point model file
  onnx_model: "./Gndnet_static_dims.onnx"
  # BPU architecture, with range: bayes/bernoulli2
  march: "nash-m"
  # Specify the directory to store the model conversion output
  working_dir: 'model_output'
  # Specify the name prefix for output model
  output_model_file_prefix: 'Gndnet_featuremap'

  #remove_node_type: "Dequantize"

# Model input related parameters
# For multiple input nodes, use ';' to separate them, for default setting, set None
input_parameters:
  # Specify the input node name of the original floating-point model,
  # consistent with its name in the model, not specified will be obtained from the model
  input_name: "voxels;coords;num_points"
  # Specify the input data of the on-board model, with range: nv12/rgb/bgr/yuv444/gray/featuremap
  # The number/order specified need to be the same as in input_name
  input_type_rt: 'featuremap;featuremap;featuremap'
  # Specify the input data type of the original floating-point model, with range: rgb/bgr/gray/yuv444/featuremap
  # The number/order specified need to be the same as in input_name
  input_type_train: 'featuremap;featuremap;featuremap'
  # Specify the input data layout of the original floating-point model, with range: NHWC/NCHW
  # The number/order specified need to be the same as in input_name
  input_layout_train: 'NCHW;NCHW;NCHW'
  # Specify the input shape of the original floating-point model, e.g. 1x3x224x224;1x2x224x224
  input_shape: '3000x100x4;3000x4;3000'
  # Specify the model input preprocessing method, with range: no_preprocess/data_mean_and_scale/data_mean/data_scale
  norm_type: 'no_preprocess'
  # Specify the mean value to be subtracted by the preprocessing input image
  # For channel mean values, use space or ';' for separation
  #mean_value: 
  # Specify the scale factor of the preprocessing input image
  # For channel scale, use space or ';' for separation
  #scale_value: 


# Calibration related parameters
calibration_parameters:
  # Specify the directory to store the calibration data, support Jpeg, Bmp etc, which should cover the typical scenarios
  # For multiple inputs, need to set multiple directories, and use ';' for separation
  cal_data_dir: './calib_static/calibration_data_voxels;./calib_static/calibration_data_coors;./calib_static/calibration_data_num_points'
  # Specify the type of algorithm used for calibration, with range: default/mix/kl/max/load
  # Select skip for only performance verification, select load when using the QAT exported model
  # Usually default is enough to meet the requirements, if not, try in the order of mix, kl/max
  calibration_type: 'default'
  #quant_config: "./quant_config.json"

# Compilation related parameters
compiler_parameters:
  # Specify the model compilation optimization level
  # O0 means no optimization, O1-O3 means more optimization as the level increases, but higher compilation time
  optimize_level: 'O2'
  max_time_per_fc: 3000
