Skip to content

Commit

Permalink
fixing the build script and tweaking mnist demo tiny bit
Browse files Browse the repository at this point in the history
  • Loading branch information
karpathy committed Aug 31, 2014
1 parent c366cbe commit a5d0fd4
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 4 deletions.
1 change: 0 additions & 1 deletion compile/build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
<file name="convnet_layers_nonlinearities.js" />
<file name="convnet_layers_dropout.js" />
<file name="convnet_layers_normalization.js" />
<file name="convnet_layers_transform.js" />
<file name="convnet_net.js" />
<file name="convnet_trainers.js" />
<file name="convnet_magicnet.js" />
Expand Down
27 changes: 24 additions & 3 deletions demo/mnist.html
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
padding: 10px;
}
.layer_act {
width: 500px;
width: 450px;
float: right;
}
.ltconv {
Expand Down Expand Up @@ -304,6 +304,18 @@
if(L.layer_type==='softmax' || L.layer_type==='fc') scale = 10; // for softmax
draw_activations(activations_div, L.out_act, scale);

// visualize data gradients
if(L.layer_type !== 'softmax') {
var grad_div = document.createElement('div');
grad_div.appendChild(document.createTextNode('Data Gradients:'));
grad_div.appendChild(document.createElement('br'));
grad_div.className = 'layer_grad';
var scale = 2;
if(L.layer_type==='softmax' || L.layer_type==='fc') scale = 10; // for softmax
draw_activations(grad_div, L.out_act, scale, true);
activations_div.appendChild(grad_div);
}

// visualize filters if they are of reasonable size
if(L.layer_type === 'conv') {
var filters_div = document.createElement('div');
Expand All @@ -312,14 +324,18 @@
filters_div.appendChild(document.createTextNode('Weights:'));
filters_div.appendChild(document.createElement('br'));
for(var j=0;j<L.filters.length;j++) {
filters_div.appendChild(document.createTextNode('('));
draw_activations(filters_div, L.filters[j], 2);
filters_div.appendChild(document.createTextNode(')'));
}
// gradients
filters_div.appendChild(document.createElement('br'));
filters_div.appendChild(document.createTextNode('Gradients:'));
filters_div.appendChild(document.createTextNode('Weight Gradients:'));
filters_div.appendChild(document.createElement('br'));
for(var j=0;j<L.filters.length;j++) {
filters_div.appendChild(document.createTextNode('('));
draw_activations(filters_div, L.filters[j], 2, true);
filters_div.appendChild(document.createTextNode(')'));
}
} else {
filters_div.appendChild(document.createTextNode('Weights hidden, too small'));
Expand Down Expand Up @@ -353,6 +369,11 @@
layer_div.appendChild(document.createTextNode(t));
layer_div.appendChild(document.createElement('br'));

var mma = maxmin(L.out_act.dw);
var t = 'max gradient: ' + f2t(mma.maxv) + ', min: ' + f2t(mma.minv);
layer_div.appendChild(document.createTextNode(t));
layer_div.appendChild(document.createElement('br'));

// number of parameters
if(L.layer_type==='conv') {
var tot_params = L.sx*L.sy*L.in_depth*L.filters.length + L.filters.length;
Expand Down Expand Up @@ -588,7 +609,7 @@ <h1>Description</h1>
<h1>Training Stats</h1>
<div class="divsec" style="270px;">
<div class="secpart">
Current image: <img id="input_image" src=""></img><input id="buttontp" type="submit" value="pause" onclick="toggle_pause();"/>
<input id="buttontp" type="submit" value="pause" onclick="toggle_pause();" style="width: 100px; height:30px; background-color: #FCC;"/>
<div id="trainstats"></div>

<div id="controls">
Expand Down

0 comments on commit a5d0fd4

Please sign in to comment.