-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNetworkLoader.js
31 lines (30 loc) · 1.22 KB
/
NetworkLoader.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import { Network } from "./Network.js";
import { ConvLayer } from "./ConvLayer.js";
import { PoolLayer } from "./PoolLayer.js";
import { FlattenLayer } from "./FlattenLayer.js";
import { FullyConnectedLayer } from "./FullyConnectedLayer.js";
import { SoftmaxLayer } from "./SoftmaxLayer.js";
export class NetworkLoader {
static loadNetwork(filename) {
return $.getJSON(filename)
.then(json => {
return new Network(json.map(desc => {
if (desc.type == "ConvLayer") {
return new ConvLayer(desc.weights, desc.biases, desc.activationFunction);
} else if (desc.type == "PoolLayer") {
return new PoolLayer(desc.size);
} else if (desc.type == "FlattenLayer") {
return new FlattenLayer();
} else if (desc.type == "FullyConnectedLayer") {
return new FullyConnectedLayer(desc.weights, desc.biases, desc.activationFunction);
} else if (desc.type == "SoftmaxLayer") {
return new SoftmaxLayer(desc.weights, desc.biases);
}
}));
})
.fail(err => {
console.error(err);
// console.log("error: loadNetwork: could not load JSON network from " + filename + ": " + err.message);
});
}
}