def forward(self, xs, ys, reduce='mean', transpose=False): """Computes negative log-likelihood of linear-chain CRF Args: xs (list of Variable): Input vector for each label ys (list of Variable): Expected output labels. transpose (bool): If ``True``, input/output sequences will be sorted in descending order of length. Returns: ~chainer.Variable: A variable holding the average negative log-likelihood of the input sequences. .. seealso:: See :func:`~chainer.frunctions.crf1d` for more detail. """ if transpose: indices = argsort_list_descent(xs) xs = permutate_list(xs, indices, inv=False) ys = permutate_list(ys, indices, inv=False) trans_x = transpose_sequence.transpose_sequence(xs) trans_y = transpose_sequence.transpose_sequence(ys) loss = crf1d.crf1d(self.cost, trans_x, trans_y, reduce) else: loss = crf1d.crf1d(self.cost, xs, ys, reduce) return loss
def forward(self, xs, ys, reduce='mean'): return crf1d.crf1d(self.cost, xs, ys, reduce)
def __call__(self, xs, ys): return crf1d.crf1d(self.cost, xs, ys)
def __call__(self, xs, ys, reduce='mean'): return crf1d.crf1d(self.cost, xs, ys, reduce)