Skip to content

Commit 9f891d8

Browse files
committed
finishes feedforward samples.
Signed-off-by: Robert Altena <[email protected]>
1 parent 0222a36 commit 9f891d8

File tree

10 files changed

+30
-38
lines changed

10 files changed

+30
-38
lines changed

dl4j-examples/src/main/java/org/deeplearning4j/examples/feedforward/mnist/MLPMnistSingleLayerExample.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*******************************************************************************
1+
/* *****************************************************************************
22
* Copyright (c) 2015-2019 Skymind, Inc.
33
*
44
* This program and the accompanying materials are made available under the
@@ -17,14 +17,14 @@
1717
package org.deeplearning4j.examples.feedforward.mnist;
1818

1919
import org.deeplearning4j.datasets.iterator.impl.MnistDataSetIterator;
20-
import org.deeplearning4j.eval.Evaluation;
2120
import org.deeplearning4j.nn.conf.MultiLayerConfiguration;
2221
import org.deeplearning4j.nn.conf.NeuralNetConfiguration;
2322
import org.deeplearning4j.nn.conf.layers.DenseLayer;
2423
import org.deeplearning4j.nn.conf.layers.OutputLayer;
2524
import org.deeplearning4j.nn.multilayer.MultiLayerNetwork;
2625
import org.deeplearning4j.nn.weights.WeightInit;
2726
import org.deeplearning4j.optimize.listeners.ScoreIterationListener;
27+
import org.nd4j.evaluation.classification.Evaluation;
2828
import org.nd4j.linalg.activations.Activation;
2929
import org.nd4j.linalg.dataset.api.iterator.DataSetIterator;
3030
import org.nd4j.linalg.learning.config.Nesterovs;

dl4j-examples/src/main/java/org/deeplearning4j/examples/feedforward/mnist/MLPMnistTwoLayerExample.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*******************************************************************************
1+
/* *****************************************************************************
22
* Copyright (c) 2015-2019 Skymind, Inc.
33
*
44
* This program and the accompanying materials are made available under the
@@ -18,14 +18,14 @@
1818

1919

2020
import org.deeplearning4j.datasets.iterator.impl.MnistDataSetIterator;
21-
import org.deeplearning4j.eval.Evaluation;
2221
import org.deeplearning4j.nn.conf.MultiLayerConfiguration;
2322
import org.deeplearning4j.nn.conf.NeuralNetConfiguration;
2423
import org.deeplearning4j.nn.conf.layers.DenseLayer;
2524
import org.deeplearning4j.nn.conf.layers.OutputLayer;
2625
import org.deeplearning4j.nn.multilayer.MultiLayerNetwork;
2726
import org.deeplearning4j.nn.weights.WeightInit;
2827
import org.deeplearning4j.optimize.listeners.ScoreIterationListener;
28+
import org.nd4j.evaluation.classification.Evaluation;
2929
import org.nd4j.linalg.activations.Activation;
3030
import org.nd4j.linalg.dataset.api.iterator.DataSetIterator;
3131
import org.nd4j.linalg.learning.config.Nadam;

dl4j-examples/src/main/java/org/deeplearning4j/examples/feedforward/regression/RegressionMathFunctions.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*******************************************************************************
1+
/* *****************************************************************************
22
* Copyright (c) 2015-2019 Skymind, Inc.
33
*
44
* This program and the accompanying materials are made available under the
@@ -34,10 +34,8 @@
3434
import org.jfree.chart.plot.PlotOrientation;
3535
import org.jfree.data.xy.XYSeries;
3636
import org.jfree.data.xy.XYSeriesCollection;
37-
import org.nd4j.linalg.activations.Activation;
3837
import org.nd4j.linalg.api.ndarray.INDArray;
3938
import org.nd4j.linalg.dataset.DataSet;
40-
import org.nd4j.linalg.dataset.api.iterator.DataSetIterator;
4139
import org.nd4j.linalg.factory.Nd4j;
4240
import org.nd4j.linalg.learning.config.Nesterovs;
4341
import org.nd4j.linalg.lossfunctions.LossFunctions;
@@ -62,16 +60,16 @@ public class RegressionMathFunctions {
6260
//Number of epochs (full passes of the data)
6361
public static final int nEpochs = 2000;
6462
//How frequently should we plot the network output?
65-
public static final int plotFrequency = 500;
63+
private static final int plotFrequency = 500;
6664
//Number of data points
67-
public static final int nSamples = 1000;
65+
private static final int nSamples = 1000;
6866
//Batch size: i.e., each epoch has nSamples/batchSize parameter updates
6967
public static final int batchSize = 100;
7068
//Network learning rate
7169
public static final double learningRate = 0.01;
7270
public static final Random rng = new Random(seed);
7371
public static final int numInputs = 1;
74-
public static final int numOutputs = 1;
72+
private static final int numOutputs = 1;
7573

7674

7775
public static void main(final String[] args){
@@ -127,13 +125,14 @@ private static MultiLayerConfiguration getDeepDenseLayerNetworkConfiguration() {
127125
* @param batchSize Batch size (number of examples for every call of DataSetIterator.next())
128126
* @param rng Random number generator (for repeatability)
129127
*/
128+
@SuppressWarnings("SameParameterValue")
130129
private static DataSetIterator getTrainingData(final INDArray x, final MathFunction function, final int batchSize, final Random rng) {
131130
final INDArray y = function.getFunctionValues(x);
132131
final DataSet allData = new DataSet(x,y);
133132

134133
final List<DataSet> list = allData.asList();
135134
Collections.shuffle(list,rng);
136-
return new ListDataSetIterator(list,batchSize);
135+
return new ListDataSetIterator<>(list,batchSize);
137136
}
138137

139138
//Plot the data

dl4j-examples/src/main/java/org/deeplearning4j/examples/feedforward/regression/RegressionSum.java

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*******************************************************************************
1+
/* *****************************************************************************
22
* Copyright (c) 2015-2019 Skymind, Inc.
33
*
44
* This program and the accompanying materials are made available under the
@@ -39,21 +39,22 @@
3939
* Created by Anwar on 3/15/2016.
4040
* An example of regression neural network for performing addition
4141
*/
42+
@SuppressWarnings({"DuplicatedCode", "FieldCanBeLocal"})
4243
public class RegressionSum {
4344
//Random number generator seed, for reproducability
4445
public static final int seed = 12345;
4546
//Number of epochs (full passes of the data)
4647
public static final int nEpochs = 200;
4748
//Number of data points
48-
public static final int nSamples = 1000;
49+
private static final int nSamples = 1000;
4950
//Batch size: i.e., each epoch has nSamples/batchSize parameter updates
5051
public static final int batchSize = 100;
5152
//Network learning rate
5253
public static final double learningRate = 0.01;
5354
// The range of the sample data, data in range (0-1 is sensitive for NN, you can try other ranges and see how it effects the results
5455
// also try changing the range along with changing the activation function
55-
public static int MIN_RANGE = 0;
56-
public static int MAX_RANGE = 3;
56+
private static int MIN_RANGE = 0;
57+
private static int MAX_RANGE = 3;
5758

5859
public static final Random rng = new Random(seed);
5960

@@ -89,12 +90,13 @@ public static void main(String[] args){
8990
net.fit(iterator);
9091
}
9192
// Test the addition of 2 numbers (Try different numbers here)
92-
final INDArray input = Nd4j.create(new double[] { 0.111111, 0.3333333333333 }, new int[] { 1, 2 });
93+
final INDArray input = Nd4j.create(new double[] { 0.111111, 0.3333333333333 }, 1, 2);
9394
INDArray out = net.output(input, false);
9495
System.out.println(out);
9596

9697
}
9798

99+
@SuppressWarnings("SameParameterValue")
98100
private static DataSetIterator getTrainingData(int batchSize, Random rand){
99101
double [] sum = new double[nSamples];
100102
double [] input1 = new double[nSamples];
@@ -104,14 +106,14 @@ private static DataSetIterator getTrainingData(int batchSize, Random rand){
104106
input2[i] = MIN_RANGE + (MAX_RANGE - MIN_RANGE) * rand.nextDouble();
105107
sum[i] = input1[i] + input2[i];
106108
}
107-
INDArray inputNDArray1 = Nd4j.create(input1, new int[]{nSamples,1});
108-
INDArray inputNDArray2 = Nd4j.create(input2, new int[]{nSamples,1});
109+
INDArray inputNDArray1 = Nd4j.create(input1, nSamples,1);
110+
INDArray inputNDArray2 = Nd4j.create(input2, nSamples,1);
109111
INDArray inputNDArray = Nd4j.hstack(inputNDArray1,inputNDArray2);
110-
INDArray outPut = Nd4j.create(sum, new int[]{nSamples, 1});
112+
INDArray outPut = Nd4j.create(sum, nSamples, 1);
111113
DataSet dataSet = new DataSet(inputNDArray, outPut);
112114
List<DataSet> listDs = dataSet.asList();
113115
Collections.shuffle(listDs,rng);
114-
return new ListDataSetIterator(listDs,batchSize);
116+
return new ListDataSetIterator<>(listDs,batchSize);
115117

116118
}
117119
}

dl4j-examples/src/main/java/org/deeplearning4j/examples/feedforward/regression/function/SawtoothMathFunction.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*******************************************************************************
1+
/* *****************************************************************************
22
* Copyright (c) 2015-2019 Skymind, Inc.
33
*
44
* This program and the accompanying materials are made available under the
@@ -27,7 +27,6 @@
2727
* @author Unknown
2828
* Documentation added by ERRM
2929
*/
30-
3130
public class SawtoothMathFunction implements MathFunction {
3231

3332
@Override
@@ -39,7 +38,7 @@ public INDArray getFunctionValues(final INDArray x) {
3938
for (int i = 0; i < xd2.length; i++) { //Using the sawtooth wave function, find the values at the given intervals
4039
yd2[i] = 2 * (xd2[i] / sawtoothPeriod - Math.floor(xd2[i] / sawtoothPeriod + 0.5));
4140
}
42-
return Nd4j.create(yd2, new int[]{xd2.length, 1}); //Column vector
41+
return Nd4j.create(yd2, xd2.length, 1); //Column vector
4342
}
4443

4544
@Override

dl4j-examples/src/main/java/org/deeplearning4j/examples/feedforward/regression/function/SinMathFunction.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*******************************************************************************
1+
/* *****************************************************************************
22
* Copyright (c) 2015-2019 Skymind, Inc.
33
*
44
* This program and the accompanying materials are made available under the
@@ -17,8 +17,6 @@
1717
package org.deeplearning4j.examples.feedforward.regression.function;
1818

1919
import org.nd4j.linalg.api.ndarray.INDArray;
20-
import org.nd4j.linalg.api.ops.impl.transforms.strict.Sin;
21-
import org.nd4j.linalg.factory.Nd4j;
2220
import org.nd4j.linalg.ops.transforms.Transforms;
2321

2422
/**

dl4j-examples/src/main/java/org/deeplearning4j/examples/feedforward/regression/function/SinXDivXMathFunction.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*******************************************************************************
1+
/* *****************************************************************************
22
* Copyright (c) 2015-2019 Skymind, Inc.
33
*
44
* This program and the accompanying materials are made available under the
@@ -17,8 +17,6 @@
1717
package org.deeplearning4j.examples.feedforward.regression.function;
1818

1919
import org.nd4j.linalg.api.ndarray.INDArray;
20-
import org.nd4j.linalg.api.ops.impl.transforms.strict.Sin;
21-
import org.nd4j.linalg.factory.Nd4j;
2220
import org.nd4j.linalg.ops.transforms.Transforms;
2321

2422
/**

dl4j-examples/src/main/java/org/deeplearning4j/examples/feedforward/regression/function/SquareWaveMathFunction.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*******************************************************************************
1+
/* *****************************************************************************
22
* Copyright (c) 2015-2019 Skymind, Inc.
33
*
44
* This program and the accompanying materials are made available under the
@@ -17,9 +17,6 @@
1717
package org.deeplearning4j.examples.feedforward.regression.function;
1818

1919
import org.nd4j.linalg.api.ndarray.INDArray;
20-
import org.nd4j.linalg.api.ops.impl.transforms.same.Sign;
21-
import org.nd4j.linalg.api.ops.impl.transforms.strict.Sin;
22-
import org.nd4j.linalg.factory.Nd4j;
2320
import org.nd4j.linalg.ops.transforms.Transforms;
2421

2522
/**

dl4j-examples/src/main/java/org/deeplearning4j/examples/feedforward/regression/function/TriangleWaveMathFunction.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*******************************************************************************
1+
/* *****************************************************************************
22
* Copyright (c) 2015-2019 Skymind, Inc.
33
*
44
* This program and the accompanying materials are made available under the
@@ -33,7 +33,7 @@ public INDArray getFunctionValues(final INDArray x) {
3333
for (int i = 0; i < xd.length; i++) {
3434
yd[i] = Math.abs(2 * (xd[i] / period - Math.floor(xd[i] / period + 0.5)));
3535
}
36-
return Nd4j.create(yd, new int[]{xd.length, 1}); //Column vector
36+
return Nd4j.create(yd, xd.length, 1); //Column vector
3737
}
3838

3939
@Override

dl4j-examples/src/main/java/org/deeplearning4j/examples/feedforward/xor/XorExample.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/*******************************************************************************
1+
/* *****************************************************************************
22
* Copyright (c) 2015-2019 Skymind, Inc.
33
*
44
* This program and the accompanying materials are made available under the
@@ -22,7 +22,6 @@
2222
import org.deeplearning4j.nn.conf.layers.DenseLayer;
2323
import org.deeplearning4j.nn.conf.layers.OutputLayer;
2424
import org.deeplearning4j.nn.multilayer.MultiLayerNetwork;
25-
import org.deeplearning4j.nn.weights.WeightInit;
2625
import org.deeplearning4j.optimize.listeners.ScoreIterationListener;
2726
import org.nd4j.linalg.activations.Activation;
2827
import org.nd4j.linalg.api.ndarray.INDArray;
@@ -124,7 +123,7 @@ public static void main(String[] args) {
124123
.nOut(4)
125124
.activation(Activation.SIGMOID)
126125
// random initialize weights with values between 0 and 1
127-
.weightInit(new UniformDistribution(0, 1))
126+
.weightInit(new UniformDistribution(0, 1))
128127
.build())
129128
.layer(new OutputLayer.Builder(LossFunctions.LossFunction.NEGATIVELOGLIKELIHOOD)
130129
.nOut(2)

0 commit comments

Comments
 (0)