Neural Networks
The MultiLayerNetwork API — building, configuring, training, evaluating, and using sequential neural networks
Overview
Building a Network
NeuralNetConfiguration.Builder (M2.1 API)
import org.deeplearning4j.nn.conf.MultiLayerConfiguration;
import org.deeplearning4j.nn.conf.NeuralNetConfiguration;
import org.deeplearning4j.nn.conf.layers.DenseLayer;
import org.deeplearning4j.nn.conf.layers.OutputLayer;
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.LossFunctions;
MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder()
.seed(42)
.dataType(DataType.FLOAT) // use 32-bit floats
.weightInit(WeightInit.XAVIER)
.updater(new Adam(1e-3)) // M2.1: pass lr to constructor
.l2(1e-4) // L2 regularization
.list()
.layer(new DenseLayer.Builder()
.nIn(784).nOut(256)
.activation(Activation.RELU)
.build())
.layer(new DenseLayer.Builder()
.nIn(256).nOut(128)
.activation(Activation.RELU)
.build())
.layer(new OutputLayer.Builder(LossFunctions.LossFunction.NEGATIVELOGLIKELIHOOD)
.nIn(128).nOut(10)
.activation(Activation.SOFTMAX)
.build())
.build();Global Builder Options
Method
Description
Initializing and Inspecting the Network
Printing a Summary
Training
Fitting with a DataSetIterator
Fitting a Single DataSet
Fitting with Raw Arrays
Attaching a ScoreIterationListener
Inference
output()
feedForward()
predict()
Evaluation
Classification
Regression
Using evaluateDataSet Convenience Method
Parameter Access
Viewing All Parameters
Getting and Setting Layer Parameters
Gradient Access
Saving and Loading
ModelSerializer (recommended)
JSON / YAML Configuration
Common Patterns
Simple MLP Classifier (M2.1)
LeNet-Style CNN
Regression with MSE Loss
LSTM for Sequence Classification
Step-by-Step Inference (RNNs)
Key API Reference
Method
Description
Last updated
Was this helpful?