spaCy/spacy/tests/pipeline
Adriane Boyd 1f663b7c33 Address issues with source with component names and replacing listeners (#12701)
When sourcing a component, the object from the original pipeline is added to the new pipeline as the same object. This creates a situation where there are several attributes that cannot be in sync between the original pipeline and the new pipeline at the same time for this one object:

* component.name
* component.listener_map / component.listening_components for tok2vec and transformer

When running replace_listeners on a component, the config is not updated correctly if the state of the component is incorrect for the current pipeline (in particular changes that should be applied from model.attrs["replace_listener_cfg"] as used in spacy-transformers) due to the fact that:

* find_listeners relies on component.name to set the name in the listener_map
* replace_listeners relies on listener_map to determine how to modify the configs

In addition, there are several places where pipeline components are modified and the listener map and/or internal component names aren't currently updated.

In cases where there is a component shared by two pipelines that cannot be in sync, this PR chooses to prioritize the most recently modified or initialized pipeline. There is no actual solution with the current source behavior that will make both pipelines usable, so the current pipeline is updated whenever components are added/renamed/removed or the pipeline is initialized for training.
2023-06-28 10:03:27 +02:00
..
__init__.py Revert #4334 2019-09-29 17:32:12 +02:00
test_analysis.py Simplify pipe analysis 2020-08-01 13:40:06 +02:00
test_annotates_on_update.py Tidy up and auto-format 2021-07-18 15:44:56 +10:00
test_attributeruler.py Refactor scoring methods to use registered functions (#8766) 2021-08-10 15:13:39 +02:00
test_edit_tree_lemmatizer.py Fix speed problem with top_k>1 on CPU in edit tree lemmatizer (#12017) 2023-01-20 19:34:11 +01:00
test_entity_linker.py Fix EL failure with sentence-crossing entities (#12398) 2023-04-03 15:28:52 +02:00
test_entity_ruler.py Enable fuzzy text matching in Matcher (#11359) 2023-01-10 10:36:17 +01:00
test_functions.py Add doc_cleaner component (#9659) 2021-11-23 15:33:33 +01:00
test_initialize.py Test with default value 2020-09-29 17:00:40 +02:00
test_lemmatizer.py Tidy up and auto-format 2021-07-18 15:44:56 +10:00
test_models.py Tidy up code 2021-06-28 12:08:15 +02:00
test_morphologizer.py removing print statements from the test suite (#10712) 2022-04-27 09:14:25 +02:00
test_pipe_factories.py Auto-format code with black (#10795) 2022-05-13 19:02:08 +02:00
test_pipe_methods.py Revert disable/disabled merging behavior (#11745) 2022-11-08 14:58:10 +01:00
test_sentencizer.py Refactor Docs.is_ flags (#6044) 2020-09-17 00:14:01 +02:00
test_senter.py Add Pipe.hide_labels to omit labels from pipeline meta (#10175) 2022-02-05 17:59:24 +01:00
test_span_ruler.py Add SpanRuler component (#9880) 2022-06-02 13:12:53 +02:00
test_spancat.py Fix pickle for ngram suggester (#12486) 2023-04-03 15:28:52 +02:00
test_tagger.py Migrate regression tests into the main test suite (#9655) 2021-12-04 20:34:48 +01:00
test_textcat.py Improve score_cats for use with multiple textcat components (#11820) 2023-01-09 11:43:48 +01:00
test_tok2vec.py Address issues with source with component names and replacing listeners (#12701) 2023-06-28 10:03:27 +02:00