All Downloads are FREE. Search and download functionalities are using the official Maven repository.

neureka.backend.api.algorithms.fun.ADAgentSupplier Maven / Gradle / Ivy

package neureka.backend.api.algorithms.fun;

import neureka.autograd.ADAgent;
import neureka.backend.api.ExecutionCall;
import neureka.calculus.Function;
import neureka.devices.Device;

/**
 *  Implementations of this functional interface ought to return a new instance
 *  of the {@link ADAgent} class responsible for performing automatic differentiation
 *  both for forward and backward mode differentiation. 
* Therefore an {@link ADAgent} exposes 2 different procedures.
* One is the forward mode differentiation, and the other one
* is the backward mode differentiation which is more commonly known as back-propagation...
* Besides that it may also contain context information used
* to perform said procedures. */ public interface ADAgentSupplier { /** * This method ought to return a new instance * if the {@link ADAgent} class responsible for performing automatic differentiation * both for forward and backward mode differentiation.
* Therefore an {@link ADAgent} exposes 2 different procedures.
* One is the forward mode differentiation, and the other one
* is the backward mode differentiation which is more commonly known as back-propagation...
* Besides that it may also contain context information used
* to perform said procedures. * * @param function The function from where the request for auto differentiation originates. * @param call The execution call of the current execution which requires auto differentiation support. * @param forward The truth value determining the type of differentiation that should be performed. * @return The resulting {@link ADAgent}. */ ADAgent supplyADAgentFor( Function function, ExecutionCall> call, boolean forward ); }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy