The Training Loop
Building, configuring, and training neural networks — NeuralNetConfiguration, updaters, fit(), listeners, and ComputationGraph
NeuralNetConfiguration.Builder
import org.deeplearning4j.nn.conf.NeuralNetConfiguration;
import org.deeplearning4j.nn.conf.MultiLayerConfiguration;
import org.deeplearning4j.nn.conf.layers.*;
import org.deeplearning4j.nn.multilayer.MultiLayerNetwork;
import org.deeplearning4j.nn.weights.WeightInit;
import org.nd4j.linalg.activations.Activation;
import org.nd4j.linalg.api.buffer.DataType;
import org.nd4j.linalg.learning.config.Adam;
import org.nd4j.linalg.lossfunctions.impl.LossMCXENT;
MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder()
.seed(42) // reproducibility
.dataType(DataType.FLOAT) // network parameter type
.updater(new Adam(1e-3)) // optimizer with learning rate
.l2(1e-4) // L2 regularization
.list()
.layer(new DenseLayer.Builder()
.nIn(784).nOut(256)
.activation(Activation.RELU)
.weightInit(WeightInit.RELU)
.build())
.layer(new DenseLayer.Builder()
.nIn(256).nOut(128)
.activation(Activation.RELU)
.weightInit(WeightInit.RELU)
.build())
.layer(new OutputLayer.Builder(new LossMCXENT())
.nIn(128).nOut(10)
.activation(Activation.SOFTMAX)
.build())
.build();
MultiLayerNetwork model = new MultiLayerNetwork(conf);
model.init();Builder Methods Reference
Method
Purpose
Default
Updaters (Optimizers)
Available Updaters
Updater
Constructor
Notes
Learning Rate Schedules
The Training Loop
Basic Training
Epochs vs Iterations
Single-Call Training
Listeners
Available Listeners
Listener
Class
Purpose
Checkpoint Listener Example
Early Stopping
ComputationGraph
When to Use ComputationGraph
Graph Vertices
Vertex
Class
Purpose
Saving and Loading Models
Complete Training Example
Last updated
Was this helpful?