[paths] train = null dev = null vectors = null init_tok2vec = null [system] seed = 0 gpu_allocator = null [nlp] lang = null # List of pipeline component names, in order. The names should correspond to # components defined in the [components block] pipeline = [] # Components that are loaded but disabled by default disabled = [] # Optional callbacks to modify the nlp object before it's initialized, after # it's created and after the pipeline has been set up before_creation = null after_creation = null after_pipeline_creation = null # Default batch size to use with nlp.pipe and nlp.evaluate batch_size = 1000 [nlp.tokenizer] @tokenizers = "spacy.Tokenizer.v1" # The pipeline components and their models [components] # Readers for corpora like dev and train. [corpora] [corpora.train] @readers = "spacy.Corpus.v1" path = ${paths.train} # Whether to train on sequences with 'gold standard' sentence boundaries # and tokens. If you set this to true, take care to ensure your run-time # data is passed in sentence-by-sentence via some prior preprocessing. gold_preproc = false # Limitations on training document length max_length = 0 # Limitation on number of training examples limit = 0 # Apply some simply data augmentation, where we replace tokens with variations. # This is especially useful for punctuation and case replacement, to help # generalize beyond corpora that don't/only have smart quotes etc. augmenter = null [corpora.dev] @readers = "spacy.Corpus.v1" path = ${paths.dev} # Whether to train on sequences with 'gold standard' sentence boundaries # and tokens. If you set this to true, take care to ensure your run-time # data is passed in sentence-by-sentence via some prior preprocessing. gold_preproc = false # Limitations on training document length max_length = 0 # Limitation on number of training examples limit = 0 # Optional callback for data augmentation augmenter = null # Training hyper-parameters and additional features. [training] seed = ${system.seed} gpu_allocator = ${system.gpu_allocator} dropout = 0.1 accumulate_gradient = 1 # Controls early-stopping. 0 or -1 mean unlimited. patience = 1600 max_epochs = 0 max_steps = 20000 eval_frequency = 200 # Control how scores are printed and checkpoints are evaluated. score_weights = {} # Names of pipeline components that shouldn't be updated during training frozen_components = [] # Location in the config where the dev corpus is defined dev_corpus = "corpora.dev" # Location in the config where the train corpus is defined train_corpus = "corpora.train" # Optional callback before nlp object is saved to disk after training before_to_disk = null [training.logger] @loggers = "spacy.ConsoleLogger.v1" [training.batcher] @batchers = "spacy.batch_by_words.v1" discard_oversize = false tolerance = 0.2 [training.batcher.size] @schedules = "compounding.v1" start = 100 stop = 1000 compound = 1.001 [training.optimizer] @optimizers = "Adam.v1" beta1 = 0.9 beta2 = 0.999 L2_is_weight_decay = true L2 = 0.01 grad_clip = 1.0 use_averages = false eps = 1e-8 learn_rate = 0.001 # These settings are used when nlp.initialize() is called (typically before # training or pretraining). Components and the tokenizer can each define their # own arguments via their initialize methods that are populated by the config. # This lets them gather data resources, build label sets etc. [initialize] vectors = ${paths.vectors} # Extra resources for transfer-learning or pseudo-rehearsal init_tok2vec = ${paths.init_tok2vec} # Data and lookups for vocabulary vocab_data = null lookups = null # Arguments passed to the tokenizer's initialize method tokenizer = {} # Arguments for initialize methods of the components (keyed by component) components = {} before_init = null after_init = null