code: function(opt) {
      var opt = opt || {};
  
      // required
      this.group_size = typeof opt.group_size !== 'undefined' ? opt.group_size : 2;
  
      // computed
      this.out_sx = opt.in_sx;
      this.out_sy = opt.in_sy;
      this.out_depth = Math.floor(opt.in_depth / this.group_size);
      this.layer_type = 'maxout';
  
      this.switches = global.zeros(this.out_sx*this.out_sy*this.out_depth); // useful for backprop
    }
docs: Implements Maxout nnonlinearity that computes x -> max(x) where x is a vector of size group_size. Ideally of course, the input size should be exactly divisible by group_size