Skip to content

Commit 7556c1c

Browse files
committed
Rebased onto master and small update for initialize to not send data but sizes
1 parent c5933bb commit 7556c1c

File tree

1 file changed

+30
-20
lines changed

1 file changed

+30
-20
lines changed

src/neural-network.js

Lines changed: 30 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -63,22 +63,7 @@ export default class NeuralNetwork {
6363
*
6464
* @param {Number[]} sizes
6565
*/
66-
initialize(data) {
67-
let sizes = [];
68-
let inputSize = data[0].input.length;
69-
let outputSize = data[0].output.length;
70-
let hiddenSizes = this.hiddenSizes;
71-
if (!hiddenSizes) {
72-
sizes.push(Math.max(3, Math.floor(inputSize / 2)));
73-
} else {
74-
hiddenSizes.forEach(size => {
75-
sizes.push(size);
76-
});
77-
}
78-
79-
sizes.unshift(inputSize);
80-
sizes.push(outputSize);
81-
66+
initialize (sizes) {
8267
this.sizes = sizes;
8368
this.outputLayer = this.sizes.length - 1;
8469
this.biases = []; // weights for bias nodes
@@ -238,6 +223,29 @@ export default class NeuralNetwork {
238223
return output;
239224
}
240225

226+
/**
227+
*
228+
* @param data
229+
* @returns sizes
230+
*/
231+
_getSizesFromData (data) {
232+
let sizes = [];
233+
let inputSize = data[0].input.length;
234+
let outputSize = data[0].output.length;
235+
let hiddenSizes = this.hiddenSizes;
236+
if (!hiddenSizes) {
237+
sizes.push(Math.max(3, Math.floor(inputSize / 2)));
238+
} else {
239+
hiddenSizes.forEach(size => {
240+
sizes.push(size);
241+
});
242+
}
243+
244+
sizes.unshift(inputSize);
245+
sizes.push(outputSize);
246+
return sizes;
247+
}
248+
241249
/**
242250
*
243251
* @param data
@@ -261,7 +269,8 @@ export default class NeuralNetwork {
261269
};
262270

263271
if (this.sizes === null) {
264-
this.initialize(data);
272+
let sizes = this._getSizesFromData (data);
273+
this.initialize (sizes);
265274
}
266275

267276
while (res.iterations < iterations && res.error > errorThresh && Date.now () > endTime) {
@@ -313,7 +322,8 @@ export default class NeuralNetwork {
313322
};
314323

315324
if (this.sizes === null) {
316-
this.initialize (data);
325+
let sizes = this._getSizesFromData (data);
326+
this.initialize (sizes);
317327
}
318328

319329
const items = new Array(iterations);
@@ -703,8 +713,8 @@ export default class NeuralNetwork {
703713
* @param json
704714
* @returns {NeuralNetwork}
705715
*/
706-
fromJSON(json) {
707-
this.initialize(json.sizes);
716+
fromJSON (json) {
717+
this.initialize (json.sizes);
708718

709719
for (let i = 0; i <= this.outputLayer; i++) {
710720
let layer = json.layers[i];

0 commit comments

Comments
 (0)