struttura DML_ACTIVATION_CELU_OPERATOR_DESC (directml.h)
Esegue la funzione di attivazione CELU (ContinuousLy Differenziaable Linear Unit) su ogni elemento in InputTensor, inserendo il risultato nell'elemento corrispondente di OutputTensor.
f(x) = max(0, x) + min(0, Alpha * (exp(x / Alpha) - 1));
Dove:
- exp(x) è la funzione di esponente naturale
- max(a,b) restituisce il valore maggiore dei due valori a,b
- min(a,b) restituisce il più piccolo dei due valori a,b
Questo operatore supporta l'esecuzione sul posto, vale a dire che il tensore di output è autorizzato ad alias InputTensor durante l'associazione.
Sintassi
struct DML_ACTIVATION_CELU_OPERATOR_DESC {
const DML_TENSOR_DESC *InputTensor;
const DML_TENSOR_DESC *OutputTensor;
FLOAT Alpha;
};
Members
InputTensor
Tipo: const DML_TENSOR_DESC*
Tensore di input da cui leggere.
OutputTensor
Tipo: const DML_TENSOR_DESC*
Tensore di output in cui scrivere i risultati.
Alpha
Tipo: FLOAT
Coefficiente alfa. Un valore predefinito tipico per questo valore è 1,0.
Disponibilità
Questo operatore è stato introdotto in DML_FEATURE_LEVEL_3_0
.
Vincoli tensor
InputTensor e OutputTensor devono avere gli stessi Valori DataType, DimensionCount e Size.
Supporto di Tensor
Tensore | Tipo | Conteggi delle dimensioni supportati | Tipi di dati supportati |
---|---|---|---|
InputTensor | Input | da 1 a 8 | FLOAT32, FLOAT16 |
OutputTensor | Output | da 1 a 8 | FLOAT32, FLOAT16 |
Requisiti
Client minimo supportato | Windows 10 Build 20348 |
Server minimo supportato | Windows 10 Build 20348 |
Intestazione | directml.h |