Divide¶
Versioned name : Divide-1
Category : Arithmetic binary
Short description : Divide performs element-wise division operation with two given tensors applying broadcasting rule specified in the auto_broacast attribute.
Detailed description Before performing arithmetic operation, input tensors a and b are broadcasted if their shapes are different and auto_broadcast
attribute is not none
. Broadcasting is performed according to auto_broadcast
value. After broadcasting Divide performs division operation for the input tensors a and b using the formula below:
The result of division by zero is undefined.
Attributes :
m_pythondiv
Description : specifies if floor division should be calculate. This attribute is supported only for integer data types.
Range of values :
false - regular division
true - floor division
Type : boolean
Default value : true
Required : no
auto_broadcast
Description : specifies rules used for auto-broadcasting of input tensors.
Range of values :
none - no auto-broadcasting is allowed, all input shapes must match,
numpy - numpy broadcasting rules, description is available in Broadcast Rules For Elementwise Operations,
pdpd - PaddlePaddle-style implicit broadcasting, description is available in Broadcast Rules For Elementwise Operations.
Type : string
Default value : “numpy”
Required : no
Inputs
1 : A tensor of type T and arbitrary shape and rank. Required.
2 : A tensor of type T and arbitrary shape and rank. Required.
Outputs
1 : The result of element-wise division operation. A tensor of type T with shape equal to broadcasted shape of the two inputs.
Types
T : any numeric type.
Examples
Example 1
<layer ... type="Divide">
<data auto_broadcast="none" m_pythondiv="true"/>
<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>
Example 2: broadcast
<layer ... type="Divide">
<data auto_broadcast="numpy" m_pythondiv="false"/>
<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>