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)
- 将模型保存到给定的文件流。