This is the code, the sigmoid and dot methods return a 2d array. In the sigmoid and dot methods the Arrays, named outputs
, are defined as so;double[][] outputs = new double[size1][size2];
, and are returned with return outputs;
.
This section in the code returns the error "variable outputs might not have been initialized" which is caused by this peice of code;System.out.println("Outputs after training are: " + Arrays.toString(outputs));
.
double[][] outputs;
for(int i = 0; i < 1; i++){
inputLayer = trainingInputs;
outputs = sigmoid(dot(inputLayer, synapticWeights));
}
System.out.println("Outputs after training are: " + Arrays.toString(outputs));
I'd like to get rid of the error so the array outputs
can be printed into console.
You have declared a variable outputs it may get initialised in your for loop. You should initialize it with null at the time of declaration. Your code should be like this. Code snippet below :
double[][] outputs = null;
for(int i = 0; i < 1; i++){
inputLayer = trainingInputs;
outputs = sigmoid(dot(inputLayer, synapticWeights));
}
System.out.println("Outputs after training are: " + Arrays.toString(outputs));