2020-07-20 17:36:08 +03:00
## Power <a name="Power"></a> {#openvino_docs_ops_arithmetic_Power_1}
2020-06-19 14:39:57 +03:00
**Versioned name** : *Power-1*
**Category** : Arithmetic binary operation
2021-03-10 07:57:06 +01:00
**Short description** : *Power* performs element-wise power operation with two given tensors applying broadcasting rule specified in the *auto_broadcast* attribute.
**Detailed description**
As a first step input tensors *a* and *b* are broadcasted if their shapes differ. Broadcasting is performed according to `auto_broadcast` attribute specification. As a second step *Power* operation is computed element-wise on the input tensors *a* and *b* according to the formula below:
\f[
o_{i} = {a_{i} ^ b_{i}}
2021-07-02 12:51:00 +02:00
\f]
2020-06-19 14:39:57 +03:00
**Attributes** :
* *auto_broadcast*
* **Description**: specifies rules used for auto-broadcasting of input tensors.
* **Range of values**:
2021-03-10 07:57:06 +01:00
* *none* - no auto-broadcasting is allowed, all input shapes must match
* *numpy* - numpy broadcasting rules, description is available in [Broadcast Rules For Elementwise Operations ](../broadcast_rules.md )
2020-06-19 14:39:57 +03:00
* **Type**: string
* **Default value**: "numpy"
* **Required**: *no*
**Inputs**
2021-07-15 09:17:23 +02:00
* **1**: A tensor of type *T* and arbitrary shape. **Required.**
* **2**: A tensor of type *T* and arbitrary shape. **Required.**
2020-06-19 14:39:57 +03:00
**Outputs**
2021-07-02 12:51:00 +02:00
* **1**: The result of element-wise power operation. A tensor of type *T* with shape equal to broadcasted shape of two inputs.
2020-06-19 14:39:57 +03:00
**Types**
* *T*: any numeric type.
**Examples**
2021-03-10 07:57:06 +01:00
*Example 1 - no broadcasting*
2020-06-19 14:39:57 +03:00
```xml
<layer ... type= "Power" >
2021-03-10 07:57:06 +01:00
<data auto_broadcast= "none" />
2020-06-19 14:39:57 +03:00
<input>
<port id= "0" >
<dim> 256</dim>
<dim> 56</dim>
</port>
<port id= "1" >
<dim> 256</dim>
<dim> 56</dim>
</port>
</input>
<output>
<port id= "2" >
<dim> 256</dim>
<dim> 56</dim>
</port>
</output>
</layer>
```
2021-03-10 07:57:06 +01:00
*Example 2: numpy broadcasting*
2020-06-19 14:39:57 +03:00
```xml
<layer ... type= "Power" >
2021-03-10 07:57:06 +01:00
<data auto_broadcast= "numpy" />
2020-06-19 14:39:57 +03:00
<input>
<port id= "0" >
<dim> 8</dim>
<dim> 1</dim>
<dim> 6</dim>
<dim> 1</dim>
</port>
<port id= "1" >
<dim> 7</dim>
<dim> 1</dim>
<dim> 5</dim>
</port>
</input>
<output>
<port id= "2" >
<dim> 8</dim>
<dim> 7</dim>
<dim> 6</dim>
<dim> 5</dim>
</port>
</output>
</layer>
2021-07-02 12:51:00 +02:00
```