35 lines
		
	
	
		
			879 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			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))
 |