/** Sets default input and output neurons for network (first layer as input, last as output) */ public static void setDefaultIO(NeuralNetwork nnet) { ArrayList<Neuron> inputNeuronsList = new ArrayList<Neuron>(); Layer firstLayer = nnet.getLayerAt(0); for (Neuron neuron : firstLayer.getNeurons()) { if (!(neuron instanceof BiasNeuron)) { // dont set input to bias // neurons inputNeuronsList.add(neuron); } } Neuron[] inputNeurons = new Neuron[inputNeuronsList.size()]; inputNeurons = inputNeuronsList.toArray(inputNeurons); Neuron[] outputNeurons = ((Layer) nnet.getLayerAt(nnet.getLayersCount() - 1)).getNeurons(); nnet.setInputNeurons(inputNeurons); nnet.setOutputNeurons(outputNeurons); }
private void fillAttributes() { int layerIdx = nnet.getLayersCount() - 1; // output layerIdx by default Attribute attr1; Attribute attr2 = null; if (layerCombo.isEnabled()) { layerIdx = (Integer) layerCombo.getSelectedItem() - 1; } attr1 = new Attribute(layerIdx, false, "Layer"); if (attributeTxtField.isEnabled()) { attribute = Integer.parseInt(attributeTxtField.getText()); attr2 = new Attribute(attribute, false, "Input"); } graphBuilder.setAttribute1(attr1); graphBuilder.setAttribute2(attr2); outputNeuronCount = nnet.getLayerAt(layerIdx).getNeuronsCount(); }
@Override public void setNeuralNetwork(NeuralNetwork neuralNetwork) { super.setNeuralNetwork(neuralNetwork); int neuronsNum = neuralNetwork.getLayerAt(1).getNeuronsCount(); mapSize = (int) Math.sqrt(neuronsNum); }