DML_ACTIVATION_SHRINK_OPERATOR_DESC structure (directml.h)

Performs the shrink activation function on every element in InputTensor, placing the result into the corresponding element of OutputTensor.

f(x) = x - Bias, if x > Threshold
       x + Bias, if x < -Threshold
       0,        otherwise

This operator supports in-place execution, meaning that the output tensor is permitted to alias InputTensor during binding.

Syntax

struct DML_ACTIVATION_SHRINK_OPERATOR_DESC {
  const DML_TENSOR_DESC *InputTensor;
  const DML_TENSOR_DESC *OutputTensor;
  FLOAT                 Bias;
  FLOAT                 Threshold;
};

Members

InputTensor

Type: const DML_TENSOR_DESC*

The input tensor to read from.

OutputTensor

Type: const DML_TENSOR_DESC*

The output tensor to write the results to.

Bias

Type: FLOAT

The value of the bias. A typical default for this value is 0.0.

Threshold

Type: FLOAT

The value of the threshold. A typical default for this value is 0.5.

Remarks

Availability

This operator was introduced in DML_FEATURE_LEVEL_2_0.

Tensor constraints

InputTensor and OutputTensor must have the same DataType, DimensionCount, and Sizes.

Tensor support

DML_FEATURE_LEVEL_5_1 and above

Tensor Kind Supported dimension counts Supported data types
InputTensor 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_3_0 and above

Tensor Kind Supported dimension counts Supported data types
InputTensor Input 1 to 8 FLOAT32, FLOAT16
OutputTensor Output 1 to 8 FLOAT32, FLOAT16

DML_FEATURE_LEVEL_2_0 and above

Tensor Kind Supported dimension counts Supported data types
InputTensor Input 4 to 5 FLOAT32, FLOAT16
OutputTensor Output 4 to 5 FLOAT32, FLOAT16

Requirements

Requirement Value
Minimum supported client Windows 10, version 2004 (10.0; Build 19041)
Minimum supported server Windows Server, version 2004 (10.0; Build 19041)
Header directml.h