Transformersライブラリの簡単な使用


Transformersライブラリ(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)

詳細はこちら