Files
2020-10-14 08:55:07 +08:00

41 lines
1.2 KiB
Python

from onnx_tf.handlers.backend_handler import BackendHandler
from onnx_tf.handlers.handler import onnx_op
from onnx_tf.handlers.handler import partial_support
from onnx_tf.handlers.handler import ps_description
from .pool_mixin import PoolMixin
@onnx_op("MaxPool")
@partial_support(True)
@ps_description(
"MaxPoolWithArgmax with pad is None or incompatible mode, or " +
"MaxPoolWithArgmax with 4D or higher input, or" +
"MaxPoolWithArgmax with column major " + "are not supported in Tensorflow.")
class MaxPool(PoolMixin, BackendHandler):
@classmethod
def _common(cls, node, **kwargs):
pool_type = "MAX" if len(node.outputs) == 1 else "MAX_WITH_ARGMAX"
return cls.pool(node, kwargs["tensor_dict"], pool_type,
kwargs.get("strict", True))
@classmethod
def version_1(cls, node, **kwargs):
return cls._common(node, **kwargs)
@classmethod
def version_8(cls, node, **kwargs):
return cls._common(node, **kwargs)
@classmethod
def version_10(cls, node, **kwargs):
return cls._common(node, **kwargs)
@classmethod
def version_11(cls, node, **kwargs):
return cls._common(node, **kwargs)
@classmethod
def version_12(cls, node, **kwargs):
return cls._common(node, **kwargs)