MCPcopy
hub / github.com/BrainJS/brain.js / _initialize

Method _initialize

src/neural-network.js:95–128  ·  view source on GitHub ↗

* * Expects this.sizes to have been set

()

Source from the content-addressed store, hash-verified

93 * Expects this.sizes to have been set
94 */
95 _initialize() {
96 if (!this.sizes) throw new Error ('Sizes must be set before initializing');
97
98 this.outputLayer = this.sizes.length - 1;
99 this.biases = []; // weights for bias nodes
100 this.weights = [];
101 this.outputs = [];
102
103 // state for training
104 this.deltas = [];
105 this.changes = []; // for momentum
106 this.errors = [];
107
108 for (let layer = 0; layer <= this.outputLayer; layer++) {
109 let size = this.sizes[layer];
110 this.deltas[layer] = zeros(size);
111 this.errors[layer] = zeros(size);
112 this.outputs[layer] = zeros(size);
113
114 if (layer > 0) {
115 this.biases[layer] = randos(size);
116 this.weights[layer] = new Array(size);
117 this.changes[layer] = new Array(size);
118
119 for (let node = 0; node < size; node++) {
120 let prevSize = this.sizes[layer - 1];
121 this.weights[layer][node] = randos(prevSize);
122 this.changes[layer][node] = zeros(prevSize);
123 }
124 }
125 }
126
127 this.setActivation();
128 }
129
130 /**
131 *

Callers 5

_verifyIsInitializedMethod · 0.95
fromJSONMethod · 0.95
browser.min.jsFile · 0.45
browser.jsFile · 0.45
finishStreamIterationMethod · 0.45

Calls 3

setActivationMethod · 0.95
zerosFunction · 0.50
randosFunction · 0.50

Tested by

no test coverage detected