mirror of
https://github.com/explosion/spaCy.git
synced 2026-01-08 09:41:11 +03:00
* Avoid `TrainablePipe.finish_update` getting called twice during training PR #12136 fixed an issue where the tok2vec pipe was updated before gradient were accumulated. However, it introduced a new bug that cause `finish_update` to be called twice when using the training loop. This causes a fairly large slowdown. The `Language.update` method accepts the `sgd` argument for passing an optimizer. This argument has three possible values: - `Optimizer`: use the given optimizer to finish pipe updates. - `None`: use a default optimizer to finish pipe updates. - `False`: do not finish pipe updates. However, the latter option was not documented and not valid with the existing type of `sgd`. I assumed that this was a remnant of earlier spaCy versions and removed handling of `False`. However, with that change, we are passing `None` to `Language.update`. As a result, we were calling `finish_update` in both `Language.update` and in the training loop after all subbatches are processed. This change restores proper handling/use of `False`. Moreover, the role of `False` is now documented and added to the type to avoid future accidents. * Fix typo * Document defaults for `Language.update` |
||
|---|---|---|
| .. | ||
| cli | ||
| displacy | ||
| kb | ||
| lang | ||
| matcher | ||
| ml | ||
| pipeline | ||
| tests | ||
| tokens | ||
| training | ||
| __init__.pxd | ||
| __init__.py | ||
| __main__.py | ||
| about.py | ||
| attrs.pxd | ||
| attrs.pyx | ||
| compat.py | ||
| default_config_distillation.cfg | ||
| default_config_pretraining.cfg | ||
| default_config.cfg | ||
| errors.py | ||
| glossary.py | ||
| language.py | ||
| lexeme.pxd | ||
| lexeme.pyi | ||
| lexeme.pyx | ||
| lookups.py | ||
| morphology.pxd | ||
| morphology.pyx | ||
| parts_of_speech.pxd | ||
| parts_of_speech.pyx | ||
| pipe_analysis.py | ||
| py.typed | ||
| schemas.py | ||
| scorer.py | ||
| strings.pxd | ||
| strings.pyi | ||
| strings.pyx | ||
| structs.pxd | ||
| symbols.pxd | ||
| symbols.pyx | ||
| tokenizer.pxd | ||
| tokenizer.pyx | ||
| ty.py | ||
| typedefs.pxd | ||
| typedefs.pyx | ||
| util.py | ||
| vectors.pyx | ||
| vocab.pxd | ||
| vocab.pyi | ||
| vocab.pyx | ||