config.cfg
关于我们在文件中定义的参数,我有几个问题。尽管 spaCy 的文档确实试图解释它们,但我觉得解释的描述性不够,而且很多东西都散布在文档周围,很难找到你需要的东西,尤其是 spaCy v3,(除非我'我查看了网站的错误部分)这是最近的,因此论坛中的问题/答案确实更少。我基本上是在构建一个命名实体识别 (NER) 模型以及一个转换器组件。我的问题如下:
在下面的部分(同样的问题),和
corpora.train
有什么区别?max_length
limit
对于
max_length
文档说“对训练文档长度的限制”
对于limit
,文档说“对训练示例数量的限制”他们不是或多或少相同的东西吗?我的意思是我可以通过限制文档本身的长度来限制训练示例的数量,对吗?
[corpora.dev]
@readers = "spacy.Corpus.v1"
path = ${paths.dev}
max_length = 0
gold_preproc = false
limit = 0
augmenter = null
- 在下面的代码段中,一个“步骤”的含义是什么?我理解
max_steps=0
意味着无限的步骤。但是我怎么知道有多少这样的“步骤”构成一个纪元?1个这样的步骤还涵盖了多少例句?
[training]
train_corpus = "corpora.train"
dev_corpus = "corpora.dev"
seed = ${system.seed}
gpu_allocator = ${system.gpu_allocator}
dropout = 0.1
accumulate_gradient = 1
patience = 1600
max_epochs = 10
max_steps = 0
eval_frequency = 200
frozen_components = []
before_to_disk = null
learn_rate
在训练过程中,下面的代码片段究竟是如何修改的?total_steps
更具体地说,是什么warmup_steps
意思?
[training.optimizer.learn_rate]
@schedules = "warmup_linear.v1"
warmup_steps = 250
total_steps = 200
initial_rate = 0.00005
- 最后,在训练过程的 CLI 输出中,这个“#”到底是什么?在GitHub 讨论之一中提到“# 列是优化步骤的数量(= 处理的批次)”,但是这 1 个批次或“优化步骤”到底是什么?如果训练过程向我显示了 200 个这样的“批次”之后的分数,我该如何解释它(比如到那时已经处理了多少个例句)?