def __init__(
        self,
        model,
        op_types_to_calibrate: Optional[Sequence[str]] = None,
        augmented_model_path="augmented_model.onnx",
        use_external_data_format=False,
        activation_type=QuantType.QInt8,
        method=PowerOfTwoMethod.NonOverflow,
        symmetric=True,
    ):
        """
        :param model: ONNX model to calibrate. it should be a model file path.
        :param op_types_to_calibrate: operator types to calibrate. By default, calibrate all the float32 tensors.
        :param augmented_model_path: save augmented model to this path.
        :param symmetric: make range of tensor symmetric (central point is 0).
        :param use_external_data_format: use external data format to store model which size is >= 2Gb
        """
        super(PowOfTwoCalibrater, self).__init__(
            model, op_types_to_calibrate, augmented_model_path, symmetric, use_external_data_format
        )
        self.intermediate_outputs = []
        self.model_original_outputs = set(output.name for output in self.model.graph.output)
        self.collector = None
        self.method = method
        self.symmetric = symmetric
        self.tensors_to_calibrate = None
        self.use_external_data_format = use_external_data_format
        self.activation_type = activation_type

        :param model: ONNX model to calibrate. it should be a model file path.
        :param op_types_to_calibrate: operator types to calibrate. By default, calibrate all the float32 tensors.
        :param augmented_model_path: save augmented model to this path.
        :param symmetric: make range of tensor symmetric (central point is 0).
        :param use_external_data_format: use external data format to store model which size is >= 2Gb
        
olive/passes/onnx/vitis_ai/calibrate.py