code: static public void bpropMiniBatch(Neurons[] neurons, int n) {
      neurons[neurons.length - 1].bpropOutputLayer(n);
      for (int i = neurons.length - 2; i > 0; --i)
        neurons[i].bprop(n);
  
      for (int mb=0;mb<n;++mb) {
        // all errors are reset to 0
        for (int i = 0; i<neurons.length ;++i) {
          Storage.DenseVector e = neurons[i]._e == null ? null : neurons[i]._e[mb];
          if (e==null) continue;
          Arrays.fill(e.raw(), 0);
        }
      }
    }
docs: Helper to apply back-propagation without clearing out the gradients afterwards
  Used for gradient checking
  @param neurons
  @param n number of trained examples in this last mini batch (usually == mini_batch_size, but can be less)