@Override public INDArray amax(int... dimension) { return Nd4j.getExecutioner().exec(new AMax(this), dimension); }
@Override public String onnxName() { throw new NoOpNameFoundException("No onnx op opName found for " + opName()); }
@Override public Op opForDimension(int index, int dimension) { INDArray xAlongDimension = x.vectorAlongDimension(index, dimension); if (y() != null) return new AMax(xAlongDimension, y.vectorAlongDimension(index, dimension), xAlongDimension.length()); else return new AMax(x.vectorAlongDimension(index, dimension)); }
@Override public Op opForDimension(int index, int... dimension) { INDArray xAlongDimension = x.tensorAlongDimension(index, dimension); if (y() != null) return new AMax(xAlongDimension, y.tensorAlongDimension(index, dimension), xAlongDimension.length()); else return new AMax(x.tensorAlongDimension(index, dimension)); } }
/** * Broadcast absolute max op. See: {@link BroadcastAMax} */ public static INDArray amax(INDArray x, INDArray y, INDArray z, int... dimensions) { if(dimensions == null) { Preconditions.checkArgument(Arrays.equals(x.shape(),y.shape()),getFormattedShapeErrorMessageXy(x,y)); Preconditions.checkArgument(Arrays.equals(x.shape(),z.shape()),getFormattedShapeErrorMessageXResult(x,z)); return Nd4j.getExecutioner().execAndReturn(new AMax(x,y,z,x.length())).z(); } return Nd4j.getExecutioner().execAndReturn(new BroadcastAMax(x,y,z,dimensions)); }
@Override public String tensorflowName() { throw new NoOpNameFoundException("No tensorflow op opName found for " + opName()); }
@Override public INDArray amax(int... dimension) { return Nd4j.getExecutioner().exec(new AMax(this), dimension); }