      batch_keys = self.ops.xp.concatenate(batch_keys)
      batch_vals = self.ops.asarray(self.ops.xp.concatenate(batch_vals), dtype="f")
  
      def backprop(dY):
          return dY
  
      return (batch_keys, batch_vals, lengths), backprop
 
</s> remove     tok2vec.initialize()
 </s> add     tok2vec.initialize(docs) </s> remove             _set_dims(mix, "nI", width * nr_columns)
 </s> add  </s> remove         if extract.has_dim("nO"):
            _set_dims(embed, "nI", extract.get_dim("nO"))
 </s> add 
        return []
      batch_keys = self.ops.xp.concatenate(batch_keys)
      batch_vals = self.ops.asarray(self.ops.xp.concatenate(batch_vals), dtype="f")
  
      def backprop(dY):
        return []
  
      return (batch_keys, batch_vals, lengths), backprop
keep keep keep keep replace keep keep
 Train textcat with config (#5143)

* bring back default build_text_classifier method

* remove _set_dims_ hack in favor of proper dim inference

* add tok2vec initialize to unit test

* small fixes

* add unit test for various textcat config settings

* logistic output layer does not have nO

* fix window_size setting

* proper fix

* fix W initialization

* Update textcat training example

* Use ml_datasets
* Convert training data to `Example` format
* Use `n_texts` to set proportionate dev size

* fix _init renaming on latest thinc

* avoid setting a non-existing dim

* update to thinc==8.0.0a2

* add BOW and CNN defaults for easy testing

* various experiments with train_textcat script, fix softmax activation in textcat bow

* allow textcat train script to work on other datasets as well

* have dataset as a parameter

* train textcat from config, with example config

* add config for training textcat

* formatting

* fix exclusive_classes

* fixing BOW for GPU

* bump thinc to 8.0.0a3 (not published yet so CI will fail)

* add in link_vectors_to_models which got deleted

Co-authored-by: Adriane Boyd <adrianeboyd@gmail.com> 
spacy/ml/extract_ngrams.py