Merge branch 'add/exclusive-spancat' of github.com:ljvmiranda921/spaCy into add/exclusive-spancat

This commit is contained in:
Lj Miranda 2022-10-26 11:09:03 +08:00
commit 60a8df7c5f

View File

@ -1,5 +1,5 @@
from dataclasses import dataclass
from typing import Any, Callable, Dict, Iterable, List, Optional, Tuple, cast
from typing import Callable, Dict, Iterable, List, Optional, Tuple, cast
import numpy
from thinc.api import Config, Model, Ops, Optimizer
@ -370,7 +370,8 @@ class SpanCategorizerExclusive(TrainablePipe):
target[negative_samples, self._negative_label] = 1.0 # type: ignore
d_scores = scores - target
neg_weight = cast(float, self.cfg["negative_weight"])
d_scores[negative_samples] *= neg_weight
if neg_weight != 1.0:
d_scores[negative_samples] *= neg_weight
loss = float((d_scores**2).sum())
return loss, d_scores