              sgd = self.create_optimizer()
          return sgd
  
      def set_output(self, nO):
          self.model.set_dim("nO", nO)
          if self.model.has_ref("output_layer"):
              self.model.get_ref("output_layer").set_dim("nO", nO)
  
      def get_gradients(self):
          """Get non-zero gradients of the model's parameters, as a dictionary
 
</s> remove def _set_dims(model, name, value):
    # Loop through the model to set a specific dimension if its unset on any layer.
    for node in model.walk():
        if node.has_dim(name) is None:
            node.set_dim(name, value)

 </s> add  </s> remove from spacy.ml._layers import PrecomputableAffine
from spacy.ml._layers import _backprop_precomputable_affine_padding
 </s> add from spacy.ml._precomputable_affine import PrecomputableAffine, _backprop_precomputable_affine_padding
        if self.model.has_dim("nO") is not False:
            self.model.set_dim("nO", nO)
              sgd = self.create_optimizer()
          return sgd
  
      def set_output(self, nO):
        if self.model.has_dim("nO") is not False:
            self.model.set_dim("nO", nO)
          if self.model.has_ref("output_layer"):
              self.model.get_ref("output_layer").set_dim("nO", nO)
  
      def get_gradients(self):
          """Get non-zero gradients of the model's parameters, as a dictionary
keep keep keep keep replace keep keep keep 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/pipeline/pipes.pyx