Transformersライブラリの簡単な使用
Transformersライブラリ(
このライブラリは前のブログで述べた
例えばBertの簡単な使用:
詳細はこちら
pytorch-transformers
and pytorch-pretrained-bert
)とも呼ばれ、BERT、GPT-2、RoBERTa、XLM、DistilBert、XLNet、CTRLなど、多くのSOTAの事前訓練モデルを提供しています.このライブラリは前のブログで述べた
pytorch-pretrained-bert
ライブラリよりも完全で、bertの使い方は少し異なり、自分で手動でモデルとワードテーブルの2つのものをダウンロードする必要はありません.初めて実行するとプログラムが自動的にダウンロードされます.forward関数にもoutput_all_encoded_layers
というパラメータはありません.デフォルトでは最後のレイヤのすべてのtokenのembeddingとcls
文字のembeddingが返されます.例えばBertの簡単な使用:
from transformers import BertModel, BertTokenizer
import numpy as np
import torch
tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
bert = BertModel.from_pretrained('bert-base-uncased')
s = "I'm not sure, this can work, lol -.-"
# tokens = tokenizer.tokenize(s)
# tokens = ["[CLS]"] + tokens + ["[SEP]"]
# ids1 = torch.tensor([tokenizer.convert_tokens_to_ids(tokens)])
# print(ids1)
#
ids2 = torch.tensor([tokenizer.encode(s, add_special_tokens=True)])
print(ids2)
result = bert(ids2)
print(result)
詳細はこちら