赞
踩
作者|huggingface
编译|VK
来源|Github
Transformers是一个为NLP的研究人员寻求使用/研究/扩展大型Transformers模型的库。
该库的设计有两个强烈的目标:
from_pretrained()
实例化方法从预训练实例以简单统一的方式初始化,该方法将负责从库中下载,缓存和加载相关类提供的预训练模型或你自己保存的模型。其他几个目标:
该库是建立在三个类型的类为每个模型:
所有这些类都可以从预训练模型来实例化,并使用两种方法在本地保存:
from_pretraining()
允许您从一个预训练版本实例化一个模型/配置/tokenizer,这个预训练版本可以由库本身提供(目前这里列出了27个模型),也可以由用户在本地(或服务器上)存储,save_pretraining()
允许您在本地保存模型/配置/tokenizer,以便可以使用from_pretraining()
重新加载它。我们将通过一些简单的快速启动示例来完成这个快速启动之旅,看看如何实例化和使用这些类。其余的文件分为两部分:
这里有两个例子展示了一些Bert和GPT2类以及预训练模型。
有关每个模型类的示例,请参阅完整的API参考。
让我们首先使用BertTokenizer
从文本字符串准备一个标记化的输入(要输入给BERT的标记嵌入索引列表)
import torch from transformers import BertTokenizer, BertModel, BertForMaskedLM # 可选:如果您想了解发生的信息,请按以下步骤logger import logging logging.basicConfig(level=logging.INFO) # 加载预训练的模型标记器(词汇表) tokenizer = BertTokenizer.from_pretrained('bert-base-uncased') # 标记输入 text = "[CLS] Who was Jim Henson ? [SEP] Jim Henson was a puppeteer [SEP]" tokenized_text = tokenizer.tokenize(text) # 用“BertForMaskedLM”掩盖我们试图预测的标记` masked_index = 8 tokenized_text[masked_index] = '[MASK]' assert tokenized_text == ['[CLS]', 'who', 'was', 'jim', 'henson', '?', '[SEP]', 'jim', '[MASK]', 'was', 'a', 'puppet', '##eer', '[SEP]'] # 将标记转换为词汇索引 indexed_tokens = tokenizer.convert_tokens_to_ids(tokenized_text) # 定义与第一句和第二句相关的句子A和B索引(见论文) segments_ids = [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。