jam/test/test-cnn.js

35 lines
879 B
JavaScript

var data = csv.read('test-cnn-DT.csv'),
x,
y;
data.shift();
x=select(data,0,data[0].length-2);
y=select(data,data[0].length-1);
var model = ml.learn({
algorithm:ml.ML.CNN,
x:x, // [row1=[col1=[z1,z2,..],col2,..],row2,..]
y:y,
width:28,
height:28,
depth:1,
normalize:[-.5,.5],
iterations:100,
layers:[
// output Vol is of size 3x4x2 here
{type:'input', out_sx:28, out_sy:28, out_depth:1},
{type:'conv', sx:5, filters:8, stride:1, pad:2, activation:'relu'},
{type:'pool', sx:2, stride:2},
{type:'conv', sx:5, filters:16, stride:1, pad:2, activation:'relu'},
{type:'pool', sx:3, stride:3},
{type:'softmax', num_classes:10}
],
trainer : {method: 'adadelta',
l2_decay: 0.001,
batch_size: 10}
});
// print(model)
for(var i=0;i<100;i++)
print(y[i],ml.stats.utils.best(ml.classify(model,x[i]).w))