Files
openvino/model-optimizer/extensions/ops/TensorIterator_ops.py
Alexey Suhov 6478f1742a Align copyright notice in python scripts (CVS-51320) (#4974)
* Align copyright notice in python scripts (CVS-51320)
2021-03-26 17:54:28 +03:00

91 lines
2.4 KiB
Python

# Copyright (C) 2018-2021 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
from mo.graph.graph import Node, Graph
from mo.ops.op import Op
# TODO: check all supported attributes in this file
class TensorIteratorInput(Op):
op = "TensorIteratorInput"
def __init__(self, graph: Graph, attrs: dict):
mandatory_props = {
'op': __class__.op,
'axis': None,
'start': None,
'end': None,
'stride': None,
'part_size': None,
'in_ports_count': 3,
'out_ports_count': 1,
'infer': TensorIteratorInput.input_infer,
}
super().__init__(graph, mandatory_props, attrs)
def supported_attrs(self):
return ['external_port_id', 'internal_layer_id', 'internal_port_id', 'axis', 'start', 'stride', 'part_size']
@staticmethod
def input_infer(node: Node):
pass
class TensorIteratorOutput(Op):
op = "TensorIteratorOutput"
def __init__(self, graph: Graph, attrs: dict):
mandatory_props = {
'op': __class__.op,
'axis': None,
'start': None,
'end': None,
'stride': None,
'part_size': None,
'in_ports_count': 3,
'out_ports_count': 1,
'infer': TensorIteratorOutput.input_infer,
}
super().__init__(graph, mandatory_props, attrs)
def supported_attrs(self):
return ['external_port_id', 'internal_layer_id', 'internal_port_id', 'axis', 'start', 'stride', 'part_size']
@staticmethod
def input_infer(node: Node):
pass
class TensorIteratorCondition(Op):
op = "TensorIteratorCondition"
def __init__(self, graph: Graph, attrs: dict):
mandatory_props = {
'op': __class__.op,
'in_ports_count': 2,
'out_ports_count': 2,
'infer': TensorIteratorCondition.input_infer,
}
super().__init__(graph, mandatory_props, attrs)
@staticmethod
def input_infer(node: Node):
pass
class TensorIteratorBackEdge(Op):
op = 'TensorIteratorBackEdge'
def __init__(self, graph: Graph, attrs: dict):
mandatory_props = {
'op': __class__.op,
'in_ports_count': 3,
'out_ports_count': 1,
'infer': TensorIteratorBackEdge.input_infer,
}
super().__init__(graph, mandatory_props, attrs)
@staticmethod
def input_infer(node: Node):
pass