shap.models.文本生成
- class shap.models.TextGeneration(model=None, tokenizer=None, target_sentences=None, device=None)[源代码]
使用基础模型生成目标句子/ID。
它为模型生成目标句子/ID(一个预训练的转换器模型或一个函数)。
- __init__(model=None, tokenizer=None, target_sentences=None, device=None)[源代码]
从预训练的转换器模型或函数创建一个文本生成模型。
对于一个预训练的transformer模型,应该传递一个分词器。
- 参数:
- 模型: 对象或函数
任何预训练的transformer模型或函数的对象,其目标句子/id将被生成。
- tokenizer: 对象
一个分词器对象(PreTrainedTokenizer/PreTrainedTokenizerFast),用于对句子进行分词。
- target_sentences: list
每个解释行都有一个目标句子。
- 设备: str
默认情况下,它会推断系统是否有GPU,并相应地设置设备。应为 ‘cpu’ 或 ‘cuda’ 或 pytorch 模型。
- 返回:
- numpy.ndarray
目标句子/id 的数组。
方法
__init__
([model, tokenizer, ...])从预训练的转换器模型或函数创建一个文本生成模型。
get_inputs
(X[, padding_side])该函数对源句子进行分词。
load
(in_file[, instantiate])这是为了被子类重写并通过 super 调用。
此函数为 tensorflow 和 pytorch 模型执行文本生成。
计算模型生成的输出中是否存在特殊标记在开头/结尾。
save
(out_file)将模型保存到给定的文件流中。
- get_inputs(X, padding_side='right')[源代码]
该函数对源句子进行分词。
在模型不可知的情况下,函数调用 model(X),期望返回一批输出句子,这些句子被标记化以计算输入。
- 参数:
- X: numpy.ndarray
X 是一批句子。
- 返回:
- dict
填充源句子ID和注意力掩码的字典,作为张量(根据model_type为“pt”或“tf”)。
- classmethod load(in_file, instantiate=True)[源代码]
这是为了被子类重写并通过 super 调用。
当未被实例化时,我们返回构造函数参数值。由于 Serializable 类没有构造函数参数,我们只返回一个空字典。
- model_generate(X)[源代码]
此函数为 tensorflow 和 pytorch 模型执行文本生成。
- 参数:
- X: dict
填充源句子ID和注意力掩码的字典,作为张量。
- 返回:
- numpy.ndarray
返回目标句子ID。