【发布时间】:2021-07-02 13:20:40
【问题描述】:
关于我们在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
- 在下面的sn-p中,一个'step'是什么意思?我了解
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在下面的 sn-p 代码中究竟是如何修改的?更具体地说,total_steps和warmup_steps是什么意思?
[training.optimizer.learn_rate]
@schedules = "warmup_linear.v1"
warmup_steps = 250
total_steps = 200
initial_rate = 0.00005
- 最后,在训练过程的CLI输出中,这个'#'到底是什么? GitHub discussions 之一中提到 “# 列是优化步骤的数量(= 处理的批次)”,但是这 1 个批次或“优化步骤”到底是什么?如果训练过程向我显示了 200 个这样的“批次”之后的分数,我该如何解释它(例如在此之前已经处理了多少个例句)?
【问题讨论】:
-
你真的应该把这个分成多个问题,当所有这些无关的问题放在一起时,你很难回答。
-
@polm23 我从这个问题中删除了不相关的查询。
-
老实说这个问题还是太多了,请看这个。有几个小而有针对性的问题是可以的。 meta.stackexchange.com/questions/39223/…
标签: python nlp spacy named-entity-recognition spacy-3