use of org.nd4j.linalg.primitives.Pair in project nd4j by deeplearning4j.
the class ActivationELU method backprop.
/*
= alpha * exp(x) ; x < 0
f'(x)
= 1 ; x >= 0
*/
@Override
public Pair<INDArray, INDArray> backprop(INDArray in, INDArray epsilon) {
// no support in ELU native to override alpha
if (alpha != 1.00) {
INDArray dLdz = Nd4j.getExecutioner().execAndReturn(new ELUDerivative(in.dup()));
dLdz.muli(alpha);
BooleanIndexing.replaceWhere(dLdz, 1, Conditions.equals(alpha));
dLdz.muli(epsilon);
return new Pair<>(dLdz, null);
} else {
INDArray dLdz = Nd4j.getExecutioner().execAndReturn(new ELUDerivative(in));
dLdz.muli(epsilon);
return new Pair<>(dLdz, null);
}
}
use of org.nd4j.linalg.primitives.Pair in project nd4j by deeplearning4j.
the class ActivationLReLU method backprop.
@Override
public Pair<INDArray, INDArray> backprop(INDArray in, INDArray epsilon) {
INDArray dLdz = Nd4j.getExecutioner().execAndReturn(new LeakyReLUDerivative(in, alpha));
dLdz.muli(epsilon);
return new Pair<>(dLdz, null);
}
use of org.nd4j.linalg.primitives.Pair in project nd4j by deeplearning4j.
the class ActivationRationalTanh method backprop.
@Override
public Pair<INDArray, INDArray> backprop(INDArray in, INDArray epsilon) {
INDArray dLdz = Nd4j.getExecutioner().execAndReturn(new RationalTanhDerivative(in));
dLdz.muli(epsilon);
return new Pair<>(dLdz, null);
}
use of org.nd4j.linalg.primitives.Pair in project nd4j by deeplearning4j.
the class ActivationRectifiedTanh method backprop.
@Override
public Pair<INDArray, INDArray> backprop(INDArray in, INDArray epsilon) {
INDArray dLdz = Nd4j.getExecutioner().execAndReturn(new RectifiedTanhDerivative(in));
dLdz.muli(epsilon);
return new Pair<>(dLdz, null);
}
use of org.nd4j.linalg.primitives.Pair in project nd4j by deeplearning4j.
the class ActivationSigmoid method backprop.
@Override
public Pair<INDArray, INDArray> backprop(INDArray in, INDArray epsilon) {
INDArray dLdz = Nd4j.getExecutioner().execAndReturn(new SigmoidDerivative(in));
dLdz.muli(epsilon);
return new Pair<>(dLdz, null);
}
Aggregations