From a0998868ffe6d0d8d1a610374f537a4f41eda83e Mon Sep 17 00:00:00 2001 From: Sofie Van Landeghem Date: Tue, 3 Mar 2020 13:58:56 +0100 Subject: [PATCH] prevent updating cfg if the Model was already defined (#5078) --- spacy/syntax/nn_parser.pyx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spacy/syntax/nn_parser.pyx b/spacy/syntax/nn_parser.pyx index 153ca67cd..d5c6bf2a8 100644 --- a/spacy/syntax/nn_parser.pyx +++ b/spacy/syntax/nn_parser.pyx @@ -606,7 +606,6 @@ cdef class Parser: if not hasattr(get_gold_tuples, '__call__'): gold_tuples = get_gold_tuples get_gold_tuples = lambda: gold_tuples - cfg.setdefault('min_action_freq', 30) actions = self.moves.get_actions(gold_parses=get_gold_tuples(), min_freq=cfg.get('min_action_freq', 30), learn_tokens=self.cfg.get("learn_tokens", False)) @@ -616,8 +615,9 @@ cdef class Parser: if label not in actions[action]: actions[action][label] = freq self.moves.initialize_actions(actions) - cfg.setdefault('token_vector_width', 96) if self.model is True: + cfg.setdefault('min_action_freq', 30) + cfg.setdefault('token_vector_width', 96) self.model, cfg = self.Model(self.moves.n_moves, **cfg) if sgd is None: sgd = self.create_optimizer() @@ -633,11 +633,11 @@ cdef class Parser: if pipeline is not None: self.init_multitask_objectives(get_gold_tuples, pipeline, sgd=sgd, **cfg) link_vectors_to_models(self.vocab) + self.cfg.update(cfg) else: if sgd is None: sgd = self.create_optimizer() self.model.begin_training([]) - self.cfg.update(cfg) return sgd def to_disk(self, path, exclude=tuple(), **kwargs):