Spaces:
Runtime error
Runtime error
| # Copyright (c) Facebook, Inc. and its affiliates. | |
| # | |
| # This source code is licensed under the MIT license found in the | |
| # LICENSE file in the root directory of this source tree. | |
| import math | |
| from dataclasses import dataclass, field | |
| from typing import Optional | |
| from fairseq.dataclass.configs import FairseqDataclass | |
| from fairseq.dataclass.constants import ChoiceEnum | |
| from omegaconf import MISSING | |
| DECODER_CHOICES = ChoiceEnum(["viterbi", "kenlm", "fairseqlm"]) | |
| class DecoderConfig(FairseqDataclass): | |
| type: DECODER_CHOICES = field( | |
| default="viterbi", | |
| metadata={"help": "The type of decoder to use"}, | |
| ) | |
| class FlashlightDecoderConfig(FairseqDataclass): | |
| nbest: int = field( | |
| default=1, | |
| metadata={"help": "Number of decodings to return"}, | |
| ) | |
| unitlm: bool = field( | |
| default=False, | |
| metadata={"help": "If set, use unit language model"}, | |
| ) | |
| lmpath: str = field( | |
| default=MISSING, | |
| metadata={"help": "Language model for KenLM decoder"}, | |
| ) | |
| lexicon: Optional[str] = field( | |
| default=None, | |
| metadata={"help": "Lexicon for Flashlight decoder"}, | |
| ) | |
| beam: int = field( | |
| default=50, | |
| metadata={"help": "Number of beams to use for decoding"}, | |
| ) | |
| beamthreshold: float = field( | |
| default=50.0, | |
| metadata={"help": "Threshold for beam search decoding"}, | |
| ) | |
| beamsizetoken: Optional[int] = field( | |
| default=None, metadata={"help": "Beam size to use"} | |
| ) | |
| wordscore: float = field( | |
| default=-1, | |
| metadata={"help": "Word score for KenLM decoder"}, | |
| ) | |
| unkweight: float = field( | |
| default=-math.inf, | |
| metadata={"help": "Unknown weight for KenLM decoder"}, | |
| ) | |
| silweight: float = field( | |
| default=0, | |
| metadata={"help": "Silence weight for KenLM decoder"}, | |
| ) | |
| lmweight: float = field( | |
| default=2, | |
| metadata={"help": "Weight for LM while interpolating score"}, | |
| ) | |