List of usage examples for org.deeplearning4j.nn.weights WeightInit RELU
WeightInit RELU
To view the source code for org.deeplearning4j.nn.weights WeightInit RELU.
Click Source Link
From source file:com.javafxpert.neuralnetviz.scenario.WineClassifier.java
License:Apache License
public static MultiLayerNetworkEnhanced buildNetwork(WebSocketSession webSocketSession) throws Exception { //Load the training data: RecordReader rr = new CSVRecordReader(); rr.initialize(new FileSplit((new File("src/main/resources/classification/wine.data")))); DataSetIterator iterator = new RecordReaderDataSetIterator(rr, FILE_SIZE, CLASS_INDEX, NUM_OF_CLASSES); DataSet wineData = iterator.next();/*from w w w .ja va 2 s . com*/ wineData.shuffle(); SplitTestAndTrain testAndTrain = wineData.splitTestAndTrain(DATA_SPLIT_TRAIN_TEST); DataSet trainingData = testAndTrain.getTrain(); DataSet testData = testAndTrain.getTest(); // A Standard Normalizer which gives zero-mean, unit variance DataNormalization normalizer = new NormalizerStandardize(); normalizer.fit(trainingData); // Collect the statistics (mean/stdev) from the training data. This does not modify the input data normalizer.transform(trainingData); // Apply normalization to the training data normalizer.transform(testData); // Apply normalization to the test data. This is using statistics calculated from the *training* set MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder().seed(SEED).iterations(ITERATIONS) .weightInit(WeightInit.RELU).optimizationAlgo(OptimizationAlgorithm.STOCHASTIC_GRADIENT_DESCENT) .learningRate(EPSILON).regularization(true).l2(1e-4).updater(Updater.NESTEROVS).momentum(ALPHA) .list() .layer(0, new DenseLayer.Builder().nIn(INPUT_NEURONS).nOut(HIDDEN_NEURONS) .activation(HIDDEN_LAYER_ACTIVATION).build()) .layer(1, new OutputLayer.Builder(LossFunction.NEGATIVELOGLIKELIHOOD).nIn(HIDDEN_NEURONS) .nOut(OUTPUT_NEURONS).activation(OUTPUT_LAYER_ACTIVATION).build()) .pretrain(false).backprop(true).build(); String[] inputFeatureNames = { "Alcohol (11.0-14.9)", "Malic acid (0.7-5.8)", "Ash (1.3-3.3)", "Alcalinity of ash (10.6-30.0)", "Magnesium (70-162)", "Total phenols (0.9-3.9)", "Flavanoids (0.30-5.1)", "Nonflavanoid phenols (0.1-0.7)", "Proanthocyanins (0.4-3.6)", "Color intensity (1.2-13.0)", "Hue (0.4-1.8)", "OD280/OD315 of diluted (1.2-4.0)", "Proline (278-1680)" }; String[] outputLabelNames = { "Cultivar A", "Cultivar B", "Cultivar C" }; MultiLayerNetworkEnhanced networkModel = new MultiLayerNetworkEnhanced(conf, inputFeatureNames, outputLabelNames); networkModel.init(); //model.setListeners(new ScoreIterationListener(100)); //Print score every 100 parameter updates networkModel.setListeners(new ModelListener(10, webSocketSession)); networkModel.setDataNormalization(normalizer); for (int n = 0; n < EPOCHS; n++) { networkModel.fit(trainingData); } System.out.println("Evaluate model...."); Evaluation eval = new Evaluation(OUTPUT_NEURONS); INDArray output = networkModel.output(testData.getFeatureMatrix()); System.out.println(testData.getFeatureMatrix()); System.out.println(output); eval.eval(testData.getLabels(), output); //Print the evaluation statistics System.out.println(eval.stats()); return networkModel; }
From source file:org.wso2.carbon.ml.rest.api.neuralNetworks.FeedForwardNetwork.java
License:Open Source License
/** * method to map user selected WeightInit Algorithm to WeightInit object. * @param weightinit/*from w w w.j a v a 2 s .c o m*/ * @return an WeightInit object . */ WeightInit mapWeightInit(String weightinit) { WeightInit weightInitAlgo = null; switch (weightinit) { case "Distribution": weightInitAlgo = WeightInit.DISTRIBUTION; break; case "Normalized": weightInitAlgo = WeightInit.NORMALIZED; break; case "Size": weightInitAlgo = WeightInit.SIZE; break; case "Uniform": weightInitAlgo = WeightInit.UNIFORM; break; case "Vi": weightInitAlgo = WeightInit.VI; break; case "Zero": weightInitAlgo = WeightInit.ZERO; break; case "Xavier": weightInitAlgo = WeightInit.XAVIER; break; case "RELU": weightInitAlgo = WeightInit.RELU; break; default: weightInitAlgo = null; break; } return weightInitAlgo; }
From source file:seqmodel.RNNModel.java
MultiLayerNetwork buildRNN(AMISentenceIterator iter) {
MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder().seed(SEED).iterations(10)
.optimizationAlgo(OptimizationAlgorithm.STOCHASTIC_GRADIENT_DESCENT)
//.optimizationAlgo(OptimizationAlgorithm.LBFGS)
//.optimizationAlgo(OptimizationAlgorithm.CONJUGATE_GRADIENT)
.updater(Updater.RMSPROP)//from www . j av a 2s . co m
//.updater(Updater.ADAGRAD)
//.updater(Updater.SGD)
//.regularization(true).l2(0.0001)
//.regularization(true).l1(0.001)
.weightInit(WeightInit.RELU)
//.weightInit(WeightInit.UNIFORM)
//.weightInit(WeightInit.XAVIER)
//.gradientNormalization(GradientNormalization.ClipElementWiseAbsoluteValue).gradientNormalizationThreshold(1.0)
.gradientNormalization(GradientNormalization.RenormalizeL2PerLayer)
.gradientNormalizationThreshold(1.0).learningRate(0.001).list(2)
.layer(0, new GravesLSTM.Builder().nIn(numInputDimensions).nOut(NUM_DIMENSIONS_LSTM)
//.activation("softsign").build())
.activation("softmax")
//.activation("tanh")
.build())
/*
.layer(1,
new GravesLSTM.Builder()
.nIn(25)
.nOut(NUM_DIMENSIONS_LSTM)
//.activation("softsign").build())
.activation("softmax")
//.activation("tanh")
.build())
*/
.layer(1, new RnnOutputLayer.Builder().activation("softmax")
//.activation("tanh")
//.activation("sigmoid")
//.lossFunction(LossFunctions.LossFunction.MCXENT)
.lossFunction(LossFunctions.LossFunction.RMSE_XENT).nIn(NUM_DIMENSIONS_LSTM).nOut(2) // 2 for binary classification
.build())
.backpropType(BackpropType.TruncatedBPTT).tBPTTForwardLength(TRUNCATED_BPP_LEN)
.tBPTTBackwardLength(TRUNCATED_BPP_LEN)
//.backpropType(BackpropType.Standard)
.pretrain(false).backprop(true).build();
MultiLayerNetwork net = new MultiLayerNetwork(conf);
net.init();
net.setListeners(new ScoreIterationListener(1));
return net;
}