mirror of
https://github.com/explosion/spaCy.git
synced 2025-10-25 13:11:03 +03:00
* Enable Cython<->Python bindings for `Pipe` and `TrainablePipe` methods * `pipes_with_nvtx_range`: Skip hooking methods whose signature cannot be ascertained When loading pipelines from a config file, the arguments passed to individual pipeline components is validated by `pydantic` during init. For this, the validation model attempts to parse the function signature of the component's c'tor/entry point so that it can check if all mandatory parameters are present in the config file. When using the `models_and_pipes_with_nvtx_range` as a `after_pipeline_creation` callback, the methods of all pipeline components get replaced by a NVTX range wrapper **before** the above-mentioned validation takes place. This can be problematic for components that are implemented as Cython extension types - if the extension type is not compiled with Python bindings for its methods, they will have no signatures at runtime. This resulted in `pydantic` matching the *wrapper's* parameters with the those in the config and raising errors. To avoid this, we now skip applying the wrapper to any (Cython) methods that do not have signatures. |
||
|---|---|---|
| .. | ||
| models | ||
| __init__.py | ||
| _character_embed.py | ||
| _precomputable_affine.py | ||
| callbacks.py | ||
| extract_ngrams.py | ||
| extract_spans.py | ||
| featureextractor.py | ||
| parser_model.pxd | ||
| parser_model.pyx | ||
| staticvectors.py | ||
| tb_framework.py | ||