Package ai.libs.jaicore.experiments
Class ExperimenterFrontend
- java.lang.Object
-
- ai.libs.jaicore.experiments.ExperimenterFrontend
-
- All Implemented Interfaces:
org.api4.java.common.control.ILoggingCustomizable
public class ExperimenterFrontend extends java.lang.Object implements org.api4.java.common.control.ILoggingCustomizable
-
-
Constructor Summary
Constructors Constructor Description ExperimenterFrontend()
-
Method Summary
-
-
-
Method Detail
-
withLoggerNameForAlgorithm
public ExperimenterFrontend withLoggerNameForAlgorithm(java.lang.String loggerName)
-
withDatabaseConfig
public ExperimenterFrontend withDatabaseConfig(java.lang.String databaseConfigFileName)
-
withDatabaseConfig
public ExperimenterFrontend withDatabaseConfig(java.io.File... databaseConfigFiles)
-
withRestDatabaseConfig
public ExperimenterFrontend withRestDatabaseConfig(java.io.File... databaseConfigFiles)
-
withDatabaseConfig
public ExperimenterFrontend withDatabaseConfig(ai.libs.jaicore.db.sql.IRestDatabaseConfig databaseConfig)
-
withDatabaseConfig
public ExperimenterFrontend withDatabaseConfig(ai.libs.jaicore.db.IDatabaseConfig databaseConfig)
-
withExperimentsConfig
public ExperimenterFrontend withExperimentsConfig(java.io.File configFile)
-
withExperimentsConfig
public ExperimenterFrontend withExperimentsConfig(IExperimentSetConfig config)
-
withTimeout
public ExperimenterFrontend withTimeout(org.api4.java.algorithm.Timeout to)
-
withExperimentSpecificTimeout
public ExperimenterFrontend withExperimentSpecificTimeout(java.util.function.Function<Experiment,org.api4.java.algorithm.Timeout> timeoutFunction)
-
clearDatabase
public ExperimenterFrontend clearDatabase() throws ExperimentDBInteractionFailedException
-
withEvaluator
public ExperimenterFrontend withEvaluator(IExperimentSetEvaluator evaluator)
-
withExecutorInfo
public ExperimenterFrontend withExecutorInfo(java.lang.String executorInfo)
-
getExecutorInfo
public java.lang.String getExecutorInfo()
-
withDomain
public <B extends IExperimentBuilder,I,A extends org.api4.java.algorithm.IAlgorithm<? extends I,?>> ExperimenterFrontend withDomain(AExperimentDomain<B,I,A> domain)
-
withController
public ExperimenterFrontend withController(IExperimentRunController<?> controller)
-
synchronizeDatabase
public ExperimenterFrontend synchronizeDatabase() throws ExperimentDBInteractionFailedException, org.api4.java.algorithm.exceptions.AlgorithmTimeoutedException, IllegalExperimentSetupException, ExperimentAlreadyExistsInDatabaseException, java.lang.InterruptedException, org.api4.java.algorithm.exceptions.AlgorithmExecutionCanceledException
- Throws:
ExperimentDBInteractionFailedExceptionorg.api4.java.algorithm.exceptions.AlgorithmTimeoutedExceptionIllegalExperimentSetupExceptionExperimentAlreadyExistsInDatabaseExceptionjava.lang.InterruptedExceptionorg.api4.java.algorithm.exceptions.AlgorithmExecutionCanceledException
-
conductExperiment
public void conductExperiment(int id) throws ExperimentDBInteractionFailedException, java.lang.InterruptedException- Throws:
ExperimentDBInteractionFailedExceptionjava.lang.InterruptedException
-
randomlyConductExperiments
public void randomlyConductExperiments() throws ExperimentDBInteractionFailedException, java.lang.InterruptedException- Throws:
ExperimentDBInteractionFailedExceptionjava.lang.InterruptedException
-
sequentiallyConductExperiments
public void sequentiallyConductExperiments() throws ExperimentDBInteractionFailedException, java.lang.InterruptedException- Throws:
ExperimentDBInteractionFailedExceptionjava.lang.InterruptedException
-
randomlyConductExperiments
public ExperimenterFrontend randomlyConductExperiments(int limit) throws ExperimentDBInteractionFailedException, java.lang.InterruptedException
- Throws:
ExperimentDBInteractionFailedExceptionjava.lang.InterruptedException
-
randomlyConductExperiments
public ExperimenterFrontend randomlyConductExperiments(org.api4.java.algorithm.Timeout to, int maxExperimentRuntime) throws ExperimentDBInteractionFailedException, java.lang.InterruptedException
- Throws:
ExperimentDBInteractionFailedExceptionjava.lang.InterruptedException
-
mightHaveMoreExperiments
public boolean mightHaveMoreExperiments() throws ExperimentDBInteractionFailedException
-
simulateExperiment
public <O> O simulateExperiment(Experiment experiment, IExperimentRunController<O> controller) throws ExperimentEvaluationFailedException, java.lang.InterruptedException, ExperimentFailurePredictionException
- Throws:
ExperimentEvaluationFailedExceptionjava.lang.InterruptedExceptionExperimentFailurePredictionException
-
simulateExperiment
public void simulateExperiment(int id, IExperimentRunController<?> controller) throws ExperimentEvaluationFailedException, java.lang.InterruptedException, ExperimentFailurePredictionException, ExperimentDBInteractionFailedException- Throws:
ExperimentEvaluationFailedExceptionjava.lang.InterruptedExceptionExperimentFailurePredictionExceptionExperimentDBInteractionFailedException
-
getLoggerName
public java.lang.String getLoggerName()
- Specified by:
getLoggerNamein interfaceorg.api4.java.common.control.ILoggingCustomizable
-
setLoggerName
public void setLoggerName(java.lang.String name)
- Specified by:
setLoggerNamein interfaceorg.api4.java.common.control.ILoggingCustomizable
-
addPreRunHook
public void addPreRunHook(java.util.function.Consumer<org.api4.java.algorithm.IAlgorithm<?,?>> hook)
-
-