From 0f3e3eedc2c68e923ac71e39f4fbbacc4d2b2e8b Mon Sep 17 00:00:00 2001 From: Ines Montani Date: Fri, 29 Jan 2021 19:36:38 +1100 Subject: [PATCH] Add Tok2vec.remove_listener --- spacy/pipeline/tok2vec.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/spacy/pipeline/tok2vec.py b/spacy/pipeline/tok2vec.py index e6ed84530..eb6679834 100644 --- a/spacy/pipeline/tok2vec.py +++ b/spacy/pipeline/tok2vec.py @@ -82,6 +82,15 @@ class Tok2Vec(TrainablePipe): self.listener_map.setdefault(component_name, []) self.listener_map[component_name].append(listener) + def remove_listener(self, listener: "Tok2VecListener", component_name: str) -> None: + """Remove a listener for a downstream component. Usually internals.""" + if component_name in self.listener_map: + if listener in self.listener_map[component_name]: + self.listener_map[component_name].remove(listener) + # If no listeners are left, remove entry + if not self.listener_map[component_name]: + del self.listener_map[component_name] + def find_listeners(self, component) -> None: """Walk over a model of a processing component, looking for layers that are Tok2vecListener subclasses that have an upstream_name that matches