          def backprop_nonlinearity(d_best, sgd=None):
              if self.nP == 1:
                  return d_best * mask
              else:
                  d_vector = self.ops.backprop_maxout(d_best, mask, self.nP)
                  return d_vector.reshape((d_vector.shape[0], self.nO*self.nP))
          return state_vector, backprop_nonlinearity
  
  
  cdef void sum_state_features(float* output,
          const float* cached, const int* token_ids, int B, int F, int O) nogil:
 
</s> remove             state_vector = state_vector.reshape(
                (state_vector.shape[0], self.nO, self.nP))
 </s> add  </s> remove         cdef np.ndarray state_vector = numpy.zeros((token_ids.shape[0], self.nO*self.nP), dtype='f')
 </s> add         cdef np.ndarray state_vector = numpy.zeros(
            (token_ids.shape[0], self.nO, self.nP), dtype='f') </s> remove         lower = PrecomputableAffine(hidden_width * parser_maxout_pieces,
                    nF=cls.nr_feature, nI=token_vector_width)
 </s> add         lower = PrecomputableAffine(hidden_width,
                    nF=cls.nr_feature, nI=token_vector_width,
                    nP=parser_maxout_pieces)
                return self.ops.backprop_maxout(d_best, mask, self.nP)
          def backprop_nonlinearity(d_best, sgd=None):
              if self.nP == 1:
                  return d_best * mask
              else:
                return self.ops.backprop_maxout(d_best, mask, self.nP)
                return self.ops.backprop_maxout(d_best, mask, self.nP)
          return state_vector, backprop_nonlinearity
  
  
  cdef void sum_state_features(float* output,
          const float* cached, const int* token_ids, int B, int F, int O) nogil:
keep keep keep keep replace replace keep keep keep keep keep
 Make parser consistent if maxout==1 
spacy/syntax/nn_parser.pyx