def input_symbolic_execution(self, inp: Tensor): input_quant_symbolic_kwargs = self.symbolic_kwargs['input_quant_symbolic_kwargs'] input_dequant_symbolic_kwargs = self.symbolic_kwargs['input_dequant_symbolic_kwargs'] input_redequant_symbolic_kwargs = self.symbolic_kwargs['input_redequant_symbolic_kwargs'] if input_dequant_symbolic_kwargs is not None: inp = DequantizeLinearFn.apply(inp, *input_dequant_symbolic_kwargs.values()) if input_quant_symbolic_kwargs is not None: inp = QuantizeLinearFn.apply(inp, *input_quant_symbolic_kwargs.values()) inp = DequantizeLinearFn.apply(inp, *input_redequant_symbolic_kwargs.values()) return inp
def output_symbolic_execution(self, out: Tensor): input_dequant_symbolic_kwargs = self.symbolic_kwargs['input_dequant_symbolic_kwargs'] output_quant_symbolic_kwargs = self.symbolic_kwargs['output_quant_symbolic_kwargs'] output_dequant_symbolic_kwargs = self.symbolic_kwargs['output_dequant_symbolic_kwargs'] if input_dequant_symbolic_kwargs: out = DequantizeLinearFn.apply(out, *input_dequant_symbolic_kwargs.values()) out = QuantizeLinearFn.apply(out, *output_quant_symbolic_kwargs.values()) if output_dequant_symbolic_kwargs is not None: out = DequantizeLinearFn.apply(out, *output_dequant_symbolic_kwargs.values()) return out
def output_symbolic_execution(self, out: Tensor): output_dequant_symbolic_kwargs = self.symbolic_kwargs['output_dequant_symbolic_kwargs'] output_quant_symbolic_kwargs = self.symbolic_kwargs['output_quant_symbolic_kwargs'] bias = self.symbolic_kwargs['bias'] if output_dequant_symbolic_kwargs is not None: out = DequantizeLinearFn.apply(out, *output_dequant_symbolic_kwargs.values()) if bias is not None: out = out.add(bias) if output_quant_symbolic_kwargs is not None: out = QuantizeLinearFn.apply(out, *output_quant_symbolic_kwargs.values()) return out