Package de.jungblut.classification.nn
Class MultilayerPerceptron.MultilayerPerceptronBuilder
- java.lang.Object
-
- de.jungblut.classification.nn.MultilayerPerceptron.MultilayerPerceptronBuilder
-
- Enclosing class:
- MultilayerPerceptron
public static final class MultilayerPerceptron.MultilayerPerceptronBuilder extends java.lang.ObjectConfiguration for training a neural net through theClassifier
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description MultilayerPerceptron.MultilayerPerceptronBuilderbatchParallelism(int numThreads)MultilayerPerceptronbuild()static MultilayerPerceptron.MultilayerPerceptronBuildercreate(int[] layer, ActivationFunction[] activations, LossFunction errorFunction, Minimizer minimizer, int maxIteration)Creates a new TrainingConfiguration with the mandatory configurations of the activation functions, the to be used minimizer and the maximum iterations.MultilayerPerceptron.MultilayerPerceptronBuilderhiddenLayerDropout(double d)Sets the hidden layer dropout probability.MultilayerPerceptron.MultilayerPerceptronBuilderinputLayerDropout(double d)Sets the input layer dropout probability.MultilayerPerceptron.MultilayerPerceptronBuilderlambda(double lambda)Sets the regularization parameter lambda, defaults to 0 if not set.MultilayerPerceptron.MultilayerPerceptronBuilderminiBatchSize(int size)MultilayerPerceptron.MultilayerPerceptronBuilderstochastic()Sets the training mode to stochastic.MultilayerPerceptron.MultilayerPerceptronBuilderstochastic(boolean stochastic)If verbose is true, stochastic training will be used.MultilayerPerceptron.MultilayerPerceptronBuildertrainingType(TrainingType type)Sets the training type, it defaults to CPU- so only use if you want to use the GPU.MultilayerPerceptron.MultilayerPerceptronBuilderverbose()Sets verbose to true.MultilayerPerceptron.MultilayerPerceptronBuilderverbose(boolean verbose)If verbose is true, progress indicators will be printed to STDOUT.MultilayerPerceptron.MultilayerPerceptronBuilderwithWeights(WeightMatrix[] weights)Sets the initial weights, maybe from an already trained network, or from a fancy random initialization technique.
-
-
-
Method Detail
-
trainingType
public MultilayerPerceptron.MultilayerPerceptronBuilder trainingType(TrainingType type)
Sets the training type, it defaults to CPU- so only use if you want to use the GPU.
-
lambda
public MultilayerPerceptron.MultilayerPerceptronBuilder lambda(double lambda)
Sets the regularization parameter lambda, defaults to 0 if not set.
-
verbose
public MultilayerPerceptron.MultilayerPerceptronBuilder verbose()
Sets verbose to true. Progress indicators will be printed to STDOUT.
-
verbose
public MultilayerPerceptron.MultilayerPerceptronBuilder verbose(boolean verbose)
If verbose is true, progress indicators will be printed to STDOUT.
-
hiddenLayerDropout
public MultilayerPerceptron.MultilayerPerceptronBuilder hiddenLayerDropout(double d)
Sets the hidden layer dropout probability.
-
inputLayerDropout
public MultilayerPerceptron.MultilayerPerceptronBuilder inputLayerDropout(double d)
Sets the input layer dropout probability.
-
withWeights
public MultilayerPerceptron.MultilayerPerceptronBuilder withWeights(WeightMatrix[] weights)
Sets the initial weights, maybe from an already trained network, or from a fancy random initialization technique.
-
miniBatchSize
public MultilayerPerceptron.MultilayerPerceptronBuilder miniBatchSize(int size)
- Parameters:
size- the minibatch size to use. Batches are calculated in parallel on every cpu core if not overridden bybatchParallelism(int).
-
batchParallelism
public MultilayerPerceptron.MultilayerPerceptronBuilder batchParallelism(int numThreads)
- Parameters:
numThreads- set the number of threads where batches should be calculated in parallel.
-
stochastic
public MultilayerPerceptron.MultilayerPerceptronBuilder stochastic()
Sets the training mode to stochastic.
-
stochastic
public MultilayerPerceptron.MultilayerPerceptronBuilder stochastic(boolean stochastic)
If verbose is true, stochastic training will be used.
-
build
public MultilayerPerceptron build()
- Returns:
- a new
MultilayerPerceptronwith the given configuration.
-
create
public static MultilayerPerceptron.MultilayerPerceptronBuilder create(int[] layer, ActivationFunction[] activations, LossFunction errorFunction, Minimizer minimizer, int maxIteration)
Creates a new TrainingConfiguration with the mandatory configurations of the activation functions, the to be used minimizer and the maximum iterations.- Parameters:
layer- the number of neurons for each layer, each index denotes a layer.activations- the activation functions to be used, each index denotes a layer.errorFunction- the error function on the last layer.minimizer- the minimizer to be used.maxIterations- how many iterations (epochs) to run.- Returns:
- a brand new training configuration with the given parameters set.
-
-