List of usage examples for org.deeplearning4j.nn.conf Updater ADAGRAD
Updater ADAGRAD
To view the source code for org.deeplearning4j.nn.conf Updater ADAGRAD.
Click Source Link
From source file:org.eigengo.rsa.identity.v100.DeepFaceVariant.java
License:Open Source License
public MultiLayerNetwork init() { MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder().seed(seed).iterations(iterations) .activation("relu").weightInit(WeightInit.XAVIER) .gradientNormalization(GradientNormalization.RenormalizeL2PerLayer) .optimizationAlgo(OptimizationAlgorithm.STOCHASTIC_GRADIENT_DESCENT).learningRate(0.01) .momentum(0.9).regularization(true).l2(1e-3).updater(Updater.ADAGRAD).useDropConnect(true).list() .layer(0,/*from w ww .j a va2 s . co m*/ new ConvolutionLayer.Builder(4, 4).name("cnn1").nIn(channels).stride(1, 1).nOut(20).build()) .layer(1, new SubsamplingLayer.Builder(SubsamplingLayer.PoolingType.MAX, new int[] { 2, 2 }) .name("pool1").build()) .layer(2, new ConvolutionLayer.Builder(3, 3).name("cnn2").stride(1, 1).nOut(40).build()) .layer(3, new SubsamplingLayer.Builder(SubsamplingLayer.PoolingType.MAX, new int[] { 2, 2 }) .name("pool2").build()) .layer(4, new ConvolutionLayer.Builder(3, 3).name("cnn3").stride(1, 1).nOut(60).build()) .layer(5, new SubsamplingLayer.Builder(SubsamplingLayer.PoolingType.MAX, new int[] { 2, 2 }) .name("pool3").build()) .layer(6, new ConvolutionLayer.Builder(2, 2).name("cnn3").stride(1, 1).nOut(80).build()) .layer(7, new DenseLayer.Builder().name("ffn1").nOut(160).dropOut(0.5).build()) .layer(8, new OutputLayer.Builder(LossFunctions.LossFunction.NEGATIVELOGLIKELIHOOD).nOut(numLabels) .activation("softmax").build()) .backprop(true).pretrain(false).cnnInputSize(height, width, channels).build(); MultiLayerNetwork network = new MultiLayerNetwork(conf); network.init(); return network; }
From source file:org.wso2.carbon.ml.rest.api.neuralNetworks.FeedForwardNetwork.java
License:Open Source License
/** * method to map user selected Updater Algorithm to Updater object. * @param updater//from w w w . j a v a 2s . c om * @return an Updater object . */ Updater mapUpdater(String updater) { Updater updaterAlgo = null; switch (updater) { case "sgd": updaterAlgo = Updater.SGD; break; case "adam": updaterAlgo = Updater.ADAM; break; case "adadelta": updaterAlgo = Updater.ADADELTA; break; case "nesterovs": updaterAlgo = Updater.NESTEROVS; break; case "adagrad": updaterAlgo = Updater.ADAGRAD; break; case "rmsprop": updaterAlgo = Updater.RMSPROP; break; case "none": updaterAlgo = Updater.NONE; break; case "custom": updaterAlgo = Updater.CUSTOM; break; default: updaterAlgo = null; break; } return updaterAlgo; }
From source file:vectorizer.Doc2Vec.java
MultiLayerNetwork buildAutoEncoder(int vocabSize, int iterations) { int[] numInputs = { vocabSize, 100, 25 }; int seed = 100; /*//from w ww.j a v a 2 s. c om MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder() .seed(seed) .iterations(iterations) .momentum(0.1) .momentumAfter(Collections.singletonMap(10, 0.01)) .optimizationAlgo(OptimizationAlgorithm.CONJUGATE_GRADIENT) .list(4) .layer(0, new RBM.Builder().nIn(vocabSize).nOut(numInputs[0]) .lossFunction(LossFunctions.LossFunction.RMSE_XENT).build()) .layer(1, new RBM.Builder().nIn(numInputs[0]).nOut(numInputs[1]) .lossFunction(LossFunctions.LossFunction.RMSE_XENT).build()) .layer(2, new RBM.Builder().lossFunction(LossFunctions.LossFunction.RMSE_XENT) .nIn(numInputs[1]).nOut(numInputs[2]).build()) .layer(3, new RBM.Builder().lossFunction(LossFunctions.LossFunction.RMSE_XENT) .nIn(numInputs[2]).nOut(numInputs[3]).build()) .pretrain(false) .build(); */ /* MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder() .seed(seed) .gradientNormalization(GradientNormalization.ClipElementWiseAbsoluteValue) .gradientNormalizationThreshold(1.0) .iterations(iterations) .momentum(0.5) .momentumAfter(Collections.singletonMap(3, 0.9)) .optimizationAlgo(OptimizationAlgorithm.STOCHASTIC_GRADIENT_DESCENT) .list(3) .layer(0, new AutoEncoder.Builder().nIn(numInputs[0]).nOut(numInputs[1]) .weightInit(WeightInit.XAVIER).lossFunction(LossFunctions.LossFunction.RMSE_XENT) .corruptionLevel(0.3) .build()) .layer(1, new AutoEncoder.Builder().nIn(numInputs[1]).nOut(numInputs[2]) .weightInit(WeightInit.XAVIER).lossFunction(LossFunctions.LossFunction.RMSE_XENT) .corruptionLevel(0.3) .build()) //.layer(2, new AutoEncoder.Builder().nIn(numInputs[2]).nOut(numInputs[3]) // .weightInit(WeightInit.XAVIER).lossFunction(LossFunctions.LossFunction.RMSE_XENT) // .corruptionLevel(0.3) // .build()) //.layer(2, new OutputLayer.Builder(LossFunctions.LossFunction.NEGATIVELOGLIKELIHOOD).activation("softmax") // .nIn(numInputs[2]).nOut(numInputs[3]).build()) .layer(2, new OutputLayer.Builder(LossFunctions.LossFunction.RMSE_XENT) .nIn(numInputs[2]).nOut(numInputs[3]).build()) .pretrain(true).backprop(false) .build(); */ MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder().seed(seed) // Locks in weight initialization for tuning .iterations(iterations) // # training iterations predict/classify & backprop .learningRate(1e-6f) // Optimization step size .optimizationAlgo(OptimizationAlgorithm.CONJUGATE_GRADIENT) // Backprop to calculate gradients .l1(1e-1).regularization(true).l2(2e-4).useDropConnect(true).list(2) // # NN layers (doesn't count input layer) .layer(0, new RBM.Builder(RBM.HiddenUnit.RECTIFIED, RBM.VisibleUnit.GAUSSIAN).nIn(numInputs[0]) // # input nodes .nOut(numInputs[1]) // # fully connected hidden layer nodes. Add list if multiple layers. .weightInit(WeightInit.XAVIER) // Weight initialization .k(1) // # contrastive divergence iterations .activation("relu") // Activation function type .lossFunction(LossFunctions.LossFunction.RMSE_XENT) // Loss function type .updater(Updater.ADAGRAD).dropOut(0.5).build()) // NN layer type .layer(1, new RBM.Builder(RBM.HiddenUnit.RECTIFIED, RBM.VisibleUnit.GAUSSIAN).nIn(numInputs[1]) // # input nodes .nOut(numInputs[2]) // # fully connected hidden layer nodes. Add list if multiple layers. .weightInit(WeightInit.XAVIER) // Weight initialization .k(1) // # contrastive divergence iterations .activation("relu") // Activation function type .lossFunction(LossFunctions.LossFunction.RMSE_XENT) // Loss function type .updater(Updater.ADAGRAD).dropOut(0.5).build()) // NN layer type .build(); MultiLayerNetwork model = new MultiLayerNetwork(conf); model.init(); return model; }