torchtext.models¶
RobertaBundle¶
- class torchtext.models.RobertaBundle(_params: torchtext.models.RobertaEncoderParams, _path: Optional[str] = None, _head: Optional[torch.nn.Module] = None, transform: Optional[Callable] = None)[source]¶
- 示例 - 预训练的 xlmr 基础编码器
>>> import torch, torchtext >>> from torchtext.functional import to_tensor >>> xlmr_base = torchtext.models.XLMR_BASE_ENCODER >>> model = xlmr_base.get_model() >>> transform = xlmr_base.transform() >>> input_batch = ["Hello world", "How are you!"] >>> model_input = to_tensor(transform(input_batch), padding_value=1) >>> output = model(model_input) >>> output.shape torch.Size([2, 6, 768])
- 示例 - 预训练的大型 xlmr 编码器连接到未初始化的分类头部
>>> import torch, torchtext >>> from torchtext.models import RobertaClassificationHead >>> from torchtext.functional import to_tensor >>> xlmr_large = torchtext.models.XLMR_LARGE_ENCODER >>> classifier_head = torchtext.models.RobertaClassificationHead(num_classes=2, input_dim = 1024) >>> model = xlmr_large.get_model(head=classifier_head) >>> transform = xlmr_large.transform() >>> input_batch = ["Hello world", "How are you!"] >>> model_input = to_tensor(transform(input_batch), padding_value=1) >>> output = model(model_input) >>> output.shape torch.Size([1, 2])
- 示例 - 用户指定的配置和检查点
>>> from torchtext.models import RobertaEncoderConf, RobertaBundle, RobertaClassificationHead >>> model_weights_path = "https://download.pytorch.org/models/text/xlmr.base.encoder.pt" >>> encoder_conf = RobertaEncoderConf(vocab_size=250002) >>> classifier_head = RobertaClassificationHead(num_classes=2, input_dim=768) >>> model = RobertaBundle.build_model(encoder_conf=encoder_conf, head=classifier_head, checkpoint=model_weights_path)
- get_model(head: Optional[torch.nn.Module] = None, load_weights: bool = True, freeze_encoder: bool = False, *, dl_kwargs=None) torchtext.models.RobertaModel [source]¶
- 参数:
head (nn.Module) – 要附加到编码器以执行特定任务的模块。如果提供,它将替换默认的成员头 (默认值:
None
)load_weights (bool) – 指示是否加载权重(如果可用)。(默认值:
True
)freeze_encoder (bool) – 指示是否冻结编码器权重。(默认值:
False
)dl_kwargs (关键字参数字典) – 传递给
torch.hub.load_state_dict_from_url()
。(默认值:None
)
XLMR_BASE_ENCODER¶
- torchtext.models.XLMR_BASE_ENCODER¶
具有基础配置的 XLM-R 编码器
XLM-RoBERTa 模型在 大规模无监督跨语言表示学习 <https://arxiv.org/abs/1911.02116> 中提出。它是一个大型多语言语言模型,在 2.5TB 的过滤后的 CommonCrawl 数据上进行训练,并基于 RoBERTa 模型架构。
最初由 XLM-RoBERTa 的作者在 MIT 许可证下发布,并以相同许可证重新分发。[许可证, 来源]
请参考
torchtext.models.RobertaBundle()
以了解用法。
XLMR_LARGE_ENCODER¶
- torchtext.models.XLMR_LARGE_ENCODER¶
具有大型配置的 XLM-R 编码器
XLM-RoBERTa 模型在 大规模无监督跨语言表示学习 <https://arxiv.org/abs/1911.02116> 中提出。它是一个大型多语言语言模型,在 2.5TB 的过滤后的 CommonCrawl 数据上进行训练,并基于 RoBERTa 模型架构。
最初由 XLM-RoBERTa 的作者在 MIT 许可证下发布,并以相同许可证重新分发。[许可证, 来源]
请参考
torchtext.models.RobertaBundle()
以了解用法。
ROBERTA_BASE_ENCODER¶
- torchtext.models.ROBERTA_BASE_ENCODER¶
具有基础配置的 Roberta 编码器
RoBERTa 迭代了 BERT 的预训练过程,包括更长时间的训练、更大的批次处理更多数据;删除下一个句子预测目标;在更长的序列上进行训练;以及动态更改应用于训练数据的掩码模式。
RoBERTa 模型在五个数据集的联合上进行预训练:BookCorpus、英文维基百科、CC-News、OpenWebText 和 STORIES。这些数据集总共包含超过 160GB 的文本。
最初由 RoBERTa 的作者在 MIT 许可证下发布,并以相同许可证重新分发。[许可证, 来源]
请参考
torchtext.models.RobertaBundle()
以了解用法。
ROBERTA_LARGE_ENCODER¶
- torchtext.models.ROBERTA_LARGE_ENCODER¶
具有大型配置的 Roberta 编码器
RoBERTa 迭代了 BERT 的预训练过程,包括更长时间的训练、更大的批次处理更多数据;删除下一个句子预测目标;在更长的序列上进行训练;以及动态更改应用于训练数据的掩码模式。
RoBERTa 模型在五个数据集的联合上进行预训练:BookCorpus、英文维基百科、CC-News、OpenWebText 和 STORIES。这些数据集总共包含超过 160GB 的文本。
最初由 RoBERTa 的作者在 MIT 许可证下发布,并以相同许可证重新分发。[许可证, 来源]
请参考
torchtext.models.RobertaBundle()
以了解用法。