langml.prompt

Subpackages

Submodules

Package Contents

Classes

Template

PTuniningPrompt

PTuningForClassification

class langml.prompt.Template(template: List[str], label_tokens_map: Dict[str, List[str]], tokenizer: langml.tokenizer.Tokenizer)[source]
__len__(self) int
encode_template(self, template: str) List[int]
encode_label_tokens_map(self, label_tokens_map: Dict[str, List[str]]) Dict[str, List[int]]
decode_label(self, idx: int, default='<UNK>') str
class langml.prompt.PTuniningPrompt(plm_backbone: str, plm_config_path: str, plm_ckpt_path: str, template: langml.prompt.base.Template, learning_rate: float = 1e-05, freeze_plm: bool = True, encoder: str = 'mlp')

Bases: langml.prompt.base.BasePromptModel

build_model(self) langml.tensor_typing.Models
class langml.prompt.PTuningForClassification(prompt_model: BasePromptModel, tokenizer: langml.tokenizer.Tokenizer)

Bases: langml.prompt.base.BasePromptTask

fit(self, data: List[str], labels: List[str], valid_data: Optional[List[str]] = None, valid_labels: Optional[List[str]] = None, model_path: Optional[str] = None, epoch: int = 20, batch_size: int = 16, early_stop: int = 10, do_shuffle: bool = True, f1_average: str = 'macro', verbose: int = 1)

Fitting ptuning model for classification :param - data: List[str], texts of traning data :param - labels: List[Union[str, List[str]]], traning labels :param - valid_data: List[str], texts of valid data :param - valid_labels: List[Union[str, List[str]]], labels of valid data :param - model_path: Optional[str], path to save model, default None, do not to save model :param - epoch: int, epochs to train :param - batch_size: int, batch size, :param - early_stop: int, patience of early stop :param - do_shuffle: whether to shuffle data in training phase :param - f1_average: str, {‘micro’, ‘macro’, ‘samples’,’weighted’, ‘binary’} or None :param - verbose: int, 0 = silent, 1 = progress bar, 2 = one line per epoch

predict(self, text: str) str
load(self, model_path: str)

load model :param - model_path: str, model path