shap.models.TextGeneration
- class shap.models.TextGeneration(model=None, tokenizer=None, target_sentences=None, device=None)
使用基础模型生成目标句子/ID。
它为一个模型(预训练的 Transformer 模型或函数)生成目标句子/ID。
- __init__(model=None, tokenizer=None, target_sentences=None, device=None)
从预训练的 Transformer 模型或函数创建一个文本生成器模型。
对于预训练的 Transformer 模型,应该传递一个分词器。
- 参数:
- model: 对象或函数
任何预训练的 Transformer 模型或函数的对象,用于生成目标句子/ID。
- tokenizer: 对象
一个分词器对象 (PreTrainedTokenizer/PreTrainedTokenizerFast),用于分词句子。
- target_sentences: 列表
每个解释行的目标句子。
- device: 字符串
默认情况下,它会推断系统是否具有 GPU 并相应地设置设备。应为 ‘cpu’ 或 ‘cuda’ 或 PyTorch 模型。
- 返回:
- numpy.ndarray
目标句子/ID 的数组。
方法
__init__
([model, tokenizer, ...])从预训练的 Transformer 模型或函数创建一个文本生成器模型。
get_inputs
(X[, padding_side])此函数对源句子进行分词。
load
(in_file[, instantiate])这旨在被子类覆盖并使用 super 调用。
此函数为 TensorFlow 和 PyTorch 模型执行文本生成。
计算特殊 token 是否出现在模型生成输出的开头/结尾。
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。
- parse_prefix_suffix_for_model_generate_output(output)
计算特殊 token 是否出现在模型生成输出的开头/结尾。
- 参数:
- output: 列表
输出 token ID 的列表。
- 返回:
- dict
关于输出 ID 中特殊 token 的前缀和后缀长度的字典。
- save(out_file)
将模型保存到给定的文件流。