speechbrain.lobes.models.huggingface_transformers.textencoder 模块
这个叶节点支持集成通用的huggingface预训练文本编码器(例如BERT)。
需要安装来自HuggingFace的Transformer: https://huggingface.co/transformers/installation.html
- Authors
Sylvain de Langen 2024
摘要
类:
该模块支持集成通用的HuggingFace文本编码器(例如BERT)。 |
参考
- class speechbrain.lobes.models.huggingface_transformers.textencoder.TextEncoder(source, save_path, freeze=True, num_layers: int | None = None, **kwargs)[source]
-
该模块支持集成通用的HuggingFace文本编码器(例如BERT)。要求从
source中找到的AutoModel在输出字典中具有last_hidden_state键。- Parameters:
source (str) – HuggingFace 中心名称:例如 “google-bert/bert-base”
save_path (str) – 下载模型的路径(目录)。
freeze (bool (默认值: True)) – 如果为True,模型将被冻结。如果为False,模型将与管道的其余部分一起训练。
num_layers (int, 可选) – 当指定时,假设传递的语言模型可以以这种方式截断, 传递的模型的编码器将被截断到指定的层(对其进行修改)。这意味着嵌入将是第N层的嵌入,而不是最后一层的嵌入。对于某些任务,最后一层不一定是最好的。
**kwargs – 传递给
from_pretrained函数的额外关键字参数。
Example
>>> inputs = ["La vie est belle"] >>> model_hub = "google-bert/bert-base-multilingual-cased" >>> save_path = "savedir" >>> model = TextEncoder(model_hub, save_path) >>> outputs = model(inputs)
- truncate(keep_layers: int)[source]
将编码器截断到特定层,以便输出嵌入是第n层的隐藏状态。
- Parameters:
keep_layers (int) – 要保留的层数,例如4将保留层
[0, 1, 2, 3]。