DML_ELEMENT_WISE_POW_OPERATOR_DESC structure (directml.h)
Computes each element of InputTensor raised to the power of the corresponding element of ExponentTensor, placing the result into the corresponding element of OutputTensor.
f(input, exponent) = pow(input, exponent)
Negative bases are supported for exponents with integral values (though datatype can still be float), otherwise this operator returns NaN.
When the input tensor and exponent tensor both have integral data type, this operator guarantees exact results.
This operator supports in-place execution, meaning that OutputTensor is permitted to alias InputTensor during binding.
Syntax
struct DML_ELEMENT_WISE_POW_OPERATOR_DESC {
const DML_TENSOR_DESC *InputTensor;
const DML_TENSOR_DESC *ExponentTensor;
const DML_TENSOR_DESC *OutputTensor;
const DML_SCALE_BIAS *ScaleBias;
};
Members
InputTensor
Type: const DML_TENSOR_DESC*
The tensor containing the input values.
ExponentTensor
Type: const DML_TENSOR_DESC*
The tensor containing the exponent values.
OutputTensor
Type: const DML_TENSOR_DESC*
The output tensor to write the results to.
ScaleBias
Type: _Maybenull_ const DML_SCALE_BIAS*
An optional scale and bias to apply to the input. If present, this has the effect of applying the function g(x) = x * scale + bias
to each input element prior to computing this operator.
Remarks
Until DML_FEATURE_LEVEL_3_0
, ExponentTensor must match the type of InputTensor.
See DML_ELEMENT_WISE_CONSTANT_POW_OPERATOR_DESC for a POW operator that accepts a FLOAT
constant for the exponent.
Availability
This operator was introduced in DML_FEATURE_LEVEL_1_0
.
Tensor constraints
- ExponentTensor, InputTensor, and OutputTensor must have the same DimensionCount and Sizes.
- InputTensor and OutputTensor must have the same DataType.
Tensor support
DML_FEATURE_LEVEL_3_0 and above
Tensor | Kind | Supported dimension counts | Supported data types |
---|---|---|---|
InputTensor | Input | 1 to 8 | FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8 |
ExponentTensor | Input | 1 to 8 | FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8 |
OutputTensor | Output | 1 to 8 | FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8 |
DML_FEATURE_LEVEL_1_0 and above
Tensor | Kind | Supported dimension counts | Supported data types |
---|---|---|---|
InputTensor | Input | 4 | FLOAT32, FLOAT16 |
ExponentTensor | Input | 4 | FLOAT32, FLOAT16 |
OutputTensor | Output | 4 | FLOAT32, FLOAT16 |
Requirements
Requirement | Value |
---|---|
Header | directml.h |