Python 在SpaCy和x27中更改默认学习速率;s优化器
如果我想更改优化器的Python 在SpaCy和x27中更改默认学习速率;s优化器,python,spacy,Python,Spacy,如果我想更改优化器的learn\u rate,正确的方法是什么 根据的定义和我猜我必须提供一个组件\u cfg param,如下所示 optimizer = nlp.begin_training(component_cfg={'learn_rate': 0.01})? 但我不知道这是不是正确的方法,因为如果我像这样调用开始培训 optimizer = nlp.begin_training(component_cfg={'dummy_param': 0.01})? 没有给出任何警告或错误。我怀
learn\u rate
,正确的方法是什么
根据的定义和我猜我必须提供一个组件\u cfg param
,如下所示
optimizer = nlp.begin_training(component_cfg={'learn_rate': 0.01})?
但我不知道这是不是正确的方法,因为如果我像这样调用开始培训
optimizer = nlp.begin_training(component_cfg={'dummy_param': 0.01})?
没有给出任何警告或错误。我怀疑这是一个“正确”的答案,但这对我来说是有效的(因此这更像是给self的提示:p):
- 我没有使用
返回优化器,因为它 只会创建一个默认值。我想你可能会骗它 使用环境变量,但我没有尝试begin\u training()
- 相反,我最终生成了自己的优化器。因此,我的代码如下所示:
这似乎是从这里的
begin_training()
方法调用的:这就是我的想法,ops
应该是thinc.neural.Model.ops
基于在的优化器创建,spacy从环境变量中提取学习率、beta1、beta2等值。您始终可以使用
learn_rate=0.005 python script.py
对于spacy,使用0.005的学习率,依此类推
参考:要更改空间默认设置,需要覆盖默认参数值 在您的情况下,要更改学习速率,您可以执行以下操作:
optimizer.learn_rate = 0.01
optimizer.learn_rate = 0.01