List of usage examples for org.apache.commons.math3.util FastMath log
public static double log(final double x)
From source file:org.nd4j.linalg.api.ops.impl.transforms.Log.java
@Override public float op(float origin, float other) { return (float) FastMath.log(origin); }
From source file:org.nd4j.linalg.api.ops.impl.transforms.Log.java
@Override public double op(double origin, double other) { return FastMath.log(origin); }
From source file:org.nd4j.linalg.api.ops.impl.transforms.Log.java
@Override public double op(double origin) { return FastMath.log(origin); }
From source file:org.nd4j.linalg.api.ops.impl.transforms.Log.java
@Override public float op(float origin) { return (float) FastMath.log(origin); }
From source file:org.nd4j.linalg.api.ops.impl.transforms.LogSoftMax.java
@Override public void exec(int... dimensions) { if (dimensions[0] != 1) throw new IllegalArgumentException("Only supports row wise calculations"); if (x.isMatrix()) { INDArray rowMax = x.max(1);/*from ww w . j a v a 2 s . co m*/ INDArray xMinusRowMax = x.subColumnVector(rowMax); INDArray expXMinusRowMax = Nd4j.getExecutioner().execAndReturn(new Exp(xMinusRowMax.dup())); INDArray logRowSumExp = expXMinusRowMax.sum(1); Nd4j.getExecutioner().exec(new Log(logRowSumExp)); INDArray logsoftmax = xMinusRowMax.subiColumnVector(logRowSumExp); if (this.z != null) z.assign(logsoftmax); else this.z = logsoftmax; } else if (x.isVector()) { double max = x.maxNumber().doubleValue(); INDArray xMinusMax = x.sub(max); INDArray expXMinusMax = Nd4j.getExecutioner().execAndReturn(new Exp(xMinusMax.dup())); double logRowSumExp = FastMath.log(expXMinusMax.sumNumber().doubleValue()); INDArray logsoftmax = xMinusMax.subi(logRowSumExp); if (this.z != null) z.assign(logsoftmax); else this.z = logsoftmax; } }
From source file:org.nd4j.linalg.api.ops.impl.transforms.LogX.java
@Override public float op(float origin, float other) { return (float) FastMath.log(origin) / (float) FastMath.log((float) base); }
From source file:org.nd4j.linalg.api.ops.impl.transforms.LogX.java
@Override public double op(double origin, double other) { return FastMath.log(origin) / FastMath.log(base); }
From source file:org.nd4j.linalg.api.ops.impl.transforms.LogX.java
@Override public double op(double origin) { return FastMath.log(origin) / FastMath.log(base); }
From source file:org.nd4j.linalg.api.ops.impl.transforms.LogX.java
@Override public float op(float origin) { return (float) FastMath.log(origin) / (float) FastMath.log(base); }
From source file:org.nd4j.linalg.api.ops.impl.transforms.Stabilize.java
private IComplexNumber stabilize(IComplexNumber c) { double realMin = 1.1755e-38f; double cutOff = FastMath.log(realMin); double curr = c.realComponent().doubleValue(); if (curr * k > -cutOff) return Nd4j.createDouble(-cutOff / k, c.imaginaryComponent().doubleValue()); else if (curr * k < cutOff) return Nd4j.createDouble(cutOff / k, c.imaginaryComponent().doubleValue()); return c;/*from ww w . j av a 2 s. co m*/ }