diff options
| author | schneefux <schneefux+commit@schneefux.xyz> | 2016-04-02 17:46:00 +0200 |
|---|---|---|
| committer | schneefux <schneefux+commit@schneefux.xyz> | 2016-04-02 17:46:00 +0200 |
| commit | 91fab9bfd0c3956a9b289757a0cf5a6e1837351d (patch) | |
| tree | c8b95a97b78d5542ace0ccf0cbb0abd699d1c6ab /code/weightvis.js | |
| parent | cc8dda39fc4e6a875ffdbe9f7614d434375fa29b (diff) | |
| download | vortrag-knn-91fab9bfd0c3956a9b289757a0cf5a6e1837351d.tar.gz vortrag-knn-91fab9bfd0c3956a9b289757a0cf5a6e1837351d.zip | |
add mocked net vizs
Diffstat (limited to 'code/weightvis.js')
| -rw-r--r-- | code/weightvis.js | 62 |
1 files changed, 61 insertions, 1 deletions
diff --git a/code/weightvis.js b/code/weightvis.js index 5265cee..64d398c 100644 --- a/code/weightvis.js +++ b/code/weightvis.js @@ -215,9 +215,57 @@ var Loader = (function() { return Loader; })(); +var Mocker = (function() { + function Mocker() { + } -/* animation stepping */ + Mocker.prototype.load = function(shape, callback) { + // shape is an array [layer1size, layer2size, …] + callback(this._createLayout(shape), this._createData(shape)); + }; + Mocker.prototype._createLayout = function(shape) { + // json format: + // see Loader class + var layout = {}; + layout.data = {}; + layout.data.batches = 1; + layout.data.epochs = 1; + layout.net = {}; + // network structure + layout.net.layers = shape.length; + for (layer=0; layer<layout.net.layers; layer++) { + layerObj = {}; + layerObj.isBias = false; + layerObj.size = shape[layer]; + layout.net[layer] = layerObj; + } + // layer properties + layout.layers = {}; + layout.layers[0] = {}; + layout.layers[0][0] = {}; + layout.layers[0][0].max = 0; + layout.layers[0][0].min = 0; + return layout; + }; + + Mocker.prototype._createData = function(shape) { + var data = {"0": {"0": {}}}; + for (layer=0; layer<shape.length; layer++) { + data[0][0][layer] = []; + for (weight=0; weight<shape[layer]; weight++) { + data[0][0][layer].push(0); + } + } + return data; + }; + + return Mocker; +})(); + + +/* animation stepping */ +// TODO move out of this file var Animator = (function() { function Animator(layout, time, step) { this.layout = layout; @@ -264,6 +312,7 @@ var NetVisualizer = (function() { function NetVisualizer(svg) { this.loader = new Loader(); + this.mocker = new Mocker(); this.svg = svg; this.stepHooks = []; this.stopHooks = []; @@ -287,6 +336,17 @@ var NetVisualizer = (function() { this.loader.load(url, wrapper); }; + NetVisualizer.prototype.mock = function(shape, callback) { + var self = this; + function wrapper(layout, data) { + self.layout = layout; + self.data = data; + self._setup(); + callback(); + } + this.mocker.load(shape, wrapper); + }; + NetVisualizer.prototype.stopAnimation = function() { if (this.animator) this.animator.stop(); }; |
