35 lines
927 B
Python
35 lines
927 B
Python
from .direct_q8 import Direct8BitOp, QDQDirect8BitOp
|
|
|
|
|
|
class QMaxPool(Direct8BitOp):
|
|
def __init__(self, onnx_quantizer, onnx_node):
|
|
super().__init__(onnx_quantizer, onnx_node)
|
|
|
|
def quantize(self):
|
|
node = self.node
|
|
assert node.op_type == "MaxPool"
|
|
|
|
# if version is less than 12, go to normal quantize.
|
|
if self.quantizer.opset_version < 12:
|
|
super(Direct8BitOp, self).quantize()
|
|
return
|
|
|
|
# Direct 8bits op
|
|
return super().quantize()
|
|
|
|
|
|
class QDQMaxPool(QDQDirect8BitOp):
|
|
def __init__(self, onnx_quantizer, onnx_node):
|
|
super().__init__(onnx_quantizer, onnx_node)
|
|
|
|
def quantize(self):
|
|
node = self.node
|
|
assert node.op_type == "MaxPool"
|
|
|
|
# if version is less than 12, just no change
|
|
if self.quantizer.opset_version < 12:
|
|
return
|
|
|
|
# Direct 8bits op
|
|
return super().quantize()
|