  from spacy.ml.models.tok2vec import build_Tok2Vec_model
  from spacy.vocab import Vocab
  from spacy.tokens import Doc
  
  
  def get_batch(batch_size):
      vocab = Vocab()
      docs = []
      start = 0
      for size in range(1, batch_size + 1):
          # Make the words numbers, so that they're distinct
          # across the batch, and easy to track.
          numbers = [str(i) for i in range(start, start + size)]
          docs.append(Doc(vocab, words=numbers))
          start += size
      return docs
  
  
  # This fails in Thinc v7.3.1. Need to push patch
  @pytest.mark.xfail
  def test_empty_doc():
 
</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         # TODO: charembed does not play nicely with dim inference yet
        # docs = [Doc(Vocab(), words=["hello"])]
        # self.model.initialize(X=docs)
        self.model.initialize()
 </s> add         docs = [Doc(Vocab(), words=["hello"])]
        self.model.initialize(X=docs)
from .util import get_batch
  from spacy.ml.models.tok2vec import build_Tok2Vec_model
  from spacy.vocab import Vocab
  from spacy.tokens import Doc
  
from .util import get_batch
from .util import get_batch
from .util import get_batch
from .util import get_batch
from .util import get_batch
from .util import get_batch
from .util import get_batch
from .util import get_batch
from .util import get_batch
from .util import get_batch
from .util import get_batch
from .util import get_batch
  
  
  # This fails in Thinc v7.3.1. Need to push patch
  @pytest.mark.xfail
  def test_empty_doc():
keep keep keep keep replace replace replace replace replace replace replace replace replace replace replace 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/tests/test_tok2vec.py