public class DoubleBinaryOpLambda<A,B> extends DoubleVertex implements Differentiable, NonProbabilistic<DoubleTensor>, NonSaveableVertex
Modifier and Type | Field and Description |
---|---|
protected java.util.function.Function<java.util.Map<Vertex,PartialDerivative>,PartialDerivative> |
forwardModeAutoDiffLambda |
protected Vertex<A> |
left |
protected java.util.function.BiFunction<A,B,DoubleTensor> |
op |
protected java.util.function.Function<PartialDerivative,java.util.Map<Vertex,PartialDerivative>> |
reverseModeAutoDiffLambda |
protected Vertex<B> |
right |
Constructor and Description |
---|
DoubleBinaryOpLambda(long[] shape,
Vertex<A> left,
Vertex<B> right,
java.util.function.BiFunction<A,B,DoubleTensor> op) |
DoubleBinaryOpLambda(long[] shape,
Vertex<A> left,
Vertex<B> right,
java.util.function.BiFunction<A,B,DoubleTensor> op,
java.util.function.Function<java.util.Map<Vertex,PartialDerivative>,PartialDerivative> forwardModeAutoDiffLambda,
java.util.function.Function<PartialDerivative,java.util.Map<Vertex,PartialDerivative>> reverseModeAutoDiffLambda) |
DoubleBinaryOpLambda(Vertex<A> left,
Vertex<B> right,
java.util.function.BiFunction<A,B,DoubleTensor> op) |
DoubleBinaryOpLambda(Vertex<A> left,
Vertex<B> right,
java.util.function.BiFunction<A,B,DoubleTensor> op,
java.util.function.Function<java.util.Map<Vertex,PartialDerivative>,PartialDerivative> forwardModeAutoDiffLambda,
java.util.function.Function<PartialDerivative,java.util.Map<Vertex,PartialDerivative>> reverseModeAutoDiffLambda) |
Modifier and Type | Method and Description |
---|---|
DoubleTensor |
calculate() |
PartialDerivative |
forwardModeAutoDifferentiation(java.util.Map<Vertex,PartialDerivative> derivativeOfParentsWithRespectToInput) |
java.util.Map<Vertex,PartialDerivative> |
reverseModeAutoDifferentiation(PartialDerivative derivativeOfOutputWithRespectToSelf) |
abs, acos, asin, atan, atan2, ceil, concat, cos, div, div, divideBy, divideBy, equalTo, exp, floor, getValue, greaterThan, greaterThanOrEqualTo, lambda, lambda, lessThan, lessThanOrEqualTo, loadValue, log, logGamma, matrixDeterminant, matrixInverse, matrixMultiply, max, min, minus, minus, multiply, multiply, notEqualTo, observe, observe, permute, plus, plus, pow, pow, reshape, reverseDiv, reverseMinus, round, saveValue, setAndCascade, setAndCascade, setValue, setValue, setWithMask, setWithMask, sigmoid, sin, slice, sum, sum, take, tan, times, times, toGreaterThanMask, toGreaterThanMask, toGreaterThanOrEqualToMask, toGreaterThanOrEqualToMask, toInteger, toLessThanMask, toLessThanMask, toLessThanOrEqualToMask, toLessThanOrEqualToMask, transpose, unaryMinus
addChild, addParent, addParents, equals, eval, getChildren, getConnectedGraph, getDegree, getId, getIndentation, getLabel, getObservedValue, getParents, getRank, getReference, getShape, getState, getValue, hashCode, hasValue, isDifferentiable, isObserved, isProbabilistic, lazyEval, observe, observeOwnValue, print, print, removeLabel, save, setAndCascade, setLabel, setLabel, setParents, setParents, setState, setValue, toString, unobserve
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
withRespectToSelf
contradictsObservation
getObservedValue, isObserved, observe, unobserve
protected final java.util.function.BiFunction<A,B,DoubleTensor> op
protected final java.util.function.Function<java.util.Map<Vertex,PartialDerivative>,PartialDerivative> forwardModeAutoDiffLambda
protected final java.util.function.Function<PartialDerivative,java.util.Map<Vertex,PartialDerivative>> reverseModeAutoDiffLambda
public DoubleBinaryOpLambda(long[] shape, Vertex<A> left, Vertex<B> right, java.util.function.BiFunction<A,B,DoubleTensor> op, java.util.function.Function<java.util.Map<Vertex,PartialDerivative>,PartialDerivative> forwardModeAutoDiffLambda, java.util.function.Function<PartialDerivative,java.util.Map<Vertex,PartialDerivative>> reverseModeAutoDiffLambda)
public DoubleBinaryOpLambda(long[] shape, Vertex<A> left, Vertex<B> right, java.util.function.BiFunction<A,B,DoubleTensor> op)
public DoubleBinaryOpLambda(Vertex<A> left, Vertex<B> right, java.util.function.BiFunction<A,B,DoubleTensor> op, java.util.function.Function<java.util.Map<Vertex,PartialDerivative>,PartialDerivative> forwardModeAutoDiffLambda, java.util.function.Function<PartialDerivative,java.util.Map<Vertex,PartialDerivative>> reverseModeAutoDiffLambda)
public DoubleTensor calculate()
calculate
in interface NonProbabilistic<DoubleTensor>
public PartialDerivative forwardModeAutoDifferentiation(java.util.Map<Vertex,PartialDerivative> derivativeOfParentsWithRespectToInput)
forwardModeAutoDifferentiation
in interface Differentiable
public java.util.Map<Vertex,PartialDerivative> reverseModeAutoDifferentiation(PartialDerivative derivativeOfOutputWithRespectToSelf)
reverseModeAutoDifferentiation
in interface Differentiable