# limitations under the License.
# ******************************************************************************
-"""Factory functions for all ngraph ops."""
+"""! Factory functions for all ngraph ops."""
from typing import Callable, Iterable, List, Optional, Set, Union
import numpy as np
unique: bool = False,
name: Optional[str] = None,
) -> Node:
- """Return a node which performs CTCLoss.
-
- :param logits: 3-D tensor of logits.
- :param logit_length: 1-D tensor of lengths for each object from a batch.
- :param labels: 2-D tensor of labels for which likelihood is estimated using logits.
- :param label_length: 1-D tensor of length for each label sequence.
- :param blank_index: Scalar used to mark a blank index.
- :param preprocess_collapse_repeated: Flag for preprocessing labels before loss calculation.
- :param ctc_merge_repeated: Flag for merging repeated characters in a potential alignment.
- :param unique: Flag to find unique elements in a target.
- :return: The new node which performs CTCLoss
+ """! Return a node which performs CTCLoss.
+
+ @param logits: 3-D tensor of logits.
+ @param logit_length: 1-D tensor of lengths for each object from a batch.
+ @param labels: 2-D tensor of labels for which likelihood is estimated using logits.
+ @param label_length: 1-D tensor of length for each label sequence.
+ @param blank_index: Scalar used to mark a blank index.
+ @param preprocess_collapse_repeated: Flag for preprocessing labels before loss calculation.
+ @param ctc_merge_repeated: Flag for merging repeated characters in a potential alignment.
+ @param unique: Flag to find unique elements in a target.
+ @return The new node which performs CTCLoss
"""
if blank_index is not None:
inputs = as_nodes(logits, logit_length, labels, label_length, blank_index)
output_type: str = "i64",
name: Optional[str] = None,
) -> Node:
- """Return a node which performs NonMaxSuppression.
+ """! Return a node which performs NonMaxSuppression.
- :param boxes: Tensor with box coordinates.
- :param scores: Tensor with box scores.
- :param max_output_boxes_per_class: Tensor Specifying maximum number of boxes
+ @param boxes: Tensor with box coordinates.
+ @param scores: Tensor with box scores.
+ @param max_output_boxes_per_class: Tensor Specifying maximum number of boxes
to be selected per class.
- :param iou_threshold: Tensor specifying intersection over union threshold
- :param score_threshold: Tensor specifying minimum score to consider box for the processing.
- :param box_encoding: Format of boxes data encoding.
- :param sort_result_descending: Flag that specifies whenever it is necessary to sort selected
+ @param iou_threshold: Tensor specifying intersection over union threshold
+ @param score_threshold: Tensor specifying minimum score to consider box for the processing.
+ @param box_encoding: Format of boxes data encoding.
+ @param sort_result_descending: Flag that specifies whenever it is necessary to sort selected
boxes across batches or not.
- :param output_type: Output element type.
- :return: The new node which performs NonMaxSuppression
+ @param output_type: Output element type.
+ @return The new node which performs NonMaxSuppression
"""
if max_output_boxes_per_class is None:
max_output_boxes_per_class = make_constant_node(0, np.int64)
@nameable_op
def softplus(data: NodeInput, name: Optional[str] = None) -> Node:
- """Apply SoftPlus operation on each element of input tensor.
+ """! Apply SoftPlus operation on each element of input tensor.
- :param data: The tensor providing input data.
- :return: The new node with SoftPlus operation applied on each element.
+ @param data: The tensor providing input data.
+ @return The new node with SoftPlus operation applied on each element.
"""
return _get_node_factory_opset4().create("SoftPlus", as_nodes(data), {})
@nameable_op
def mish(data: NodeInput, name: Optional[str] = None,) -> Node:
- """Return a node which performs Mish.
+ """! Return a node which performs Mish.
- :param data: Tensor with input data floating point type.
- :return: The new node which performs Mish
+ @param data: Tensor with input data floating point type.
+ @return The new node which performs Mish
"""
return _get_node_factory_opset4().create("Mish", as_nodes(data), {})
@nameable_op
def hswish(data: NodeInput, name: Optional[str] = None,) -> Node:
- """Return a node which performs HSwish (hard version of Swish).
+ """! Return a node which performs HSwish (hard version of Swish).
- :param data: Tensor with input data floating point type.
- :return: The new node which performs HSwish
+ @param data: Tensor with input data floating point type.
+ @return The new node which performs HSwish
"""
return _get_node_factory_opset4().create("HSwish", as_nodes(data), {})
beta: Optional[NodeInput] = None,
name: Optional[str] = None,
) -> Node:
- """Return a node which performing Swish activation function Swish(x, beta=1.0) = x * sigmoid(x * beta)).
+ """! Return a node which performing Swish activation function Swish(x, beta=1.0) = x * sigmoid(x * beta)).
- :param data: Tensor with input data floating point type.
- :return: The new node which performs Swish
+ @param data: Tensor with input data floating point type.
+ @return The new node which performs Swish
"""
if beta is None:
beta = make_constant_node(1.0, np.float32)
@nameable_op
def acosh(node: NodeInput, name: Optional[str] = None) -> Node:
- """Apply hyperbolic inverse cosine function on the input node element-wise.
+ """! Apply hyperbolic inverse cosine function on the input node element-wise.
- :param node: One of: input node, array or scalar.
- :param name: Optional new name for output node.
- :return: New node with arccosh operation applied on it.
+ @param node: One of: input node, array or scalar.
+ @param name: Optional new name for output node.
+ @return New node with arccosh operation applied on it.
"""
return _get_node_factory_opset4().create("Acosh", [node])
@nameable_op
def asinh(node: NodeInput, name: Optional[str] = None) -> Node:
- """Apply hyperbolic inverse sinus function on the input node element-wise.
+ """! Apply hyperbolic inverse sinus function on the input node element-wise.
- :param node: One of: input node, array or scalar.
- :param name: Optional new name for output node.
- :return: New node with arcsinh operation applied on it.
+ @param node: One of: input node, array or scalar.
+ @param name: Optional new name for output node.
+ @return New node with arcsinh operation applied on it.
"""
return _get_node_factory_opset4().create("Asinh", [node])
@nameable_op
def atanh(node: NodeInput, name: Optional[str] = None) -> Node:
- """Apply hyperbolic inverse tangent function on the input node element-wise.
+ """! Apply hyperbolic inverse tangent function on the input node element-wise.
- :param node: One of: input node, array or scalar.
- :param name: Optional new name for output node.
- :return: New node with arctanh operation applied on it.
+ @param node: One of: input node, array or scalar.
+ @param name: Optional new name for output node.
+ @return New node with arctanh operation applied on it.
"""
return _get_node_factory_opset4().create("Atanh", [node])
attrs: dict,
name: Optional[str] = None,
) -> Node:
- """Filter bounding boxes and outputs only those with the highest prediction confidence.
+ """! Filter bounding boxes and outputs only those with the highest prediction confidence.
- :param class_probs: 4D input floating point tensor with class prediction scores.
- :param bbox_deltas: 4D input floating point tensor with corrected predictions of bounding boxes
- :param image_shape: The 1D input tensor with 3 or 4 elements describing image shape.
- :param attrs: The dictionary containing key, value pairs for attributes.
- :param name: Optional name for the output node.
+ @param class_probs: 4D input floating point tensor with class prediction scores.
+ @param bbox_deltas: 4D input floating point tensor with corrected predictions of bounding boxes
+ @param image_shape: The 1D input tensor with 3 or 4 elements describing image shape.
+ @param attrs: The dictionary containing key, value pairs for attributes.
+ @param name: Optional name for the output node.
* base_size The size of the anchor to which scale and ratio attributes are applied.
Range of values: a positive unsigned integer number
Default value: None
Default value: "" (empty string)
Required: no
Example of attribute dictionary:
- .. code-block:: python
+ ~~~~~~~~~~~~~~~~~~~~~~~~{.py}
# just required ones
attrs = {
'base_size': 85,
'ratio': [0.1, 1.5, 2.0, 2.5],
'scale': [2, 3, 3, 4],
}
+ ~~~~~~~~~~~~~~~~~~~~~~~~
Optional attributes which are absent from dictionary will be set with corresponding default.
- :return: Node representing Proposal operation.
+ @return Node representing Proposal operation.
"""
requirements = [
("base_size", True, np.unsignedinteger, is_positive_value),
def reduce_l1(
node: NodeInput, reduction_axes: NodeInput, keep_dims: bool = False, name: Optional[str] = None
) -> Node:
- """L1-reduction operation on input tensor, eliminating the specified reduction axes.
+ """! L1-reduction operation on input tensor, eliminating the specified reduction axes.
- :param node: The tensor we want to mean-reduce.
- :param reduction_axes: The axes to eliminate through mean operation.
- :param keep_dims: If set to True it holds axes that are used for reduction
- :param name: Optional name for output node.
- :return: The new node performing mean-reduction operation.
+ @param node: The tensor we want to mean-reduce.
+ @param reduction_axes: The axes to eliminate through mean operation.
+ @param keep_dims: If set to True it holds axes that are used for reduction
+ @param name: Optional name for output node.
+ @return The new node performing mean-reduction operation.
"""
return _get_node_factory_opset4().create(
"ReduceL1", as_nodes(node, reduction_axes), {"keep_dims": keep_dims}
def reduce_l2(
node: NodeInput, reduction_axes: NodeInput, keep_dims: bool = False, name: Optional[str] = None
) -> Node:
- """L2-reduction operation on input tensor, eliminating the specified reduction axes.
+ """! L2-reduction operation on input tensor, eliminating the specified reduction axes.
- :param node: The tensor we want to mean-reduce.
- :param reduction_axes: The axes to eliminate through mean operation.
- :param keep_dims: If set to True it holds axes that are used for reduction
- :param name: Optional name for output node.
- :return: The new node performing mean-reduction operation.
+ @param node: The tensor we want to mean-reduce.
+ @param reduction_axes: The axes to eliminate through mean operation.
+ @param keep_dims: If set to True it holds axes that are used for reduction
+ @param name: Optional name for output node.
+ @return The new node performing mean-reduction operation.
"""
return _get_node_factory_opset4().create(
"ReduceL2", as_nodes(node, reduction_axes), {"keep_dims": keep_dims}
clip: float = 0.0,
name: Optional[str] = None,
) -> Node:
- """Return a node which performs LSTMCell operation.
-
- :param X: The input tensor with shape: [batch_size, input_size].
- :param initial_hidden_state: The hidden state tensor with shape: [batch_size, hidden_size].
- :param initial_cell_state: The cell state tensor with shape: [batch_size, hidden_size].
- :param W: The weight tensor with shape: [4*hidden_size, input_size].
- :param R: The recurrence weight tensor with shape: [4*hidden_size, hidden_size].
- :param B: The bias tensor for gates with shape: [4*hidden_size].
- :param hidden_size: Specifies hidden state size.
- :param activations: The list of three activation functions for gates.
- :param activations_alpha: The list of alpha parameters for activation functions.
- :param activations_beta: The list of beta parameters for activation functions.
- :param clip: Specifies bound values [-C, C] for tensor clipping performed before activations.
- :param name: An optional name of the output node.
-
- :return: The new node represents LSTMCell. Node outputs count: 2.
+ """! Return a node which performs LSTMCell operation.
+
+ @param X: The input tensor with shape: [batch_size, input_size].
+ @param initial_hidden_state: The hidden state tensor with shape: [batch_size, hidden_size].
+ @param initial_cell_state: The cell state tensor with shape: [batch_size, hidden_size].
+ @param W: The weight tensor with shape: [4*hidden_size, input_size].
+ @param R: The recurrence weight tensor with shape: [4*hidden_size, hidden_size].
+ @param B: The bias tensor for gates with shape: [4*hidden_size].
+ @param hidden_size: Specifies hidden state size.
+ @param activations: The list of three activation functions for gates.
+ @param activations_alpha: The list of alpha parameters for activation functions.
+ @param activations_beta: The list of beta parameters for activation functions.
+ @param clip: Specifies bound values [-C, C] for tensor clipping performed before activations.
+ @param name: An optional name of the output node.
+
+ @return The new node represents LSTMCell. Node outputs count: 2.
"""
if activations is None:
activations = ["sigmoid", "tanh", "tanh"]