了解 gpt-2 如何标记字符串
Understanding how gpt-2 tokenizes the strings
使用教程here,我写了以下代码:
from transformers import GPT2Tokenizer, GPT2Model
import torch
tokenizer = GPT2Tokenizer.from_pretrained('gpt2')
model = GPT2Model.from_pretrained('gpt2')
inputs = tokenizer("Hello, my dog is cute", return_tensors="pt")
outputs = model(**inputs)
last_hidden_states = outputs.last_hidden_state
所以我意识到“输入”由我句子的标记化项目组成。
但是我怎样才能获得标记化项目的价值呢? (参见示例 ["hello", ",", "my", "dog", "is", "cute"])
我问这个是因为有时我认为如果一个词不在它的字典中(即来自另一种语言的词),它会分离一个词。所以我想在我的代码中检查一下。
您可以在标记器的输出上调用 tokenizer.decode
以从给定索引下的词汇表中获取单词:
>>> inputs = tokenizer("Hello, my dog is cute", return_tensors="pt")
>>> list(map(tokenizer.decode, inputs.input_ids[0]))
['Hello', ',', ' my', ' dog', ' is', ' cute']
使用教程here,我写了以下代码:
from transformers import GPT2Tokenizer, GPT2Model
import torch
tokenizer = GPT2Tokenizer.from_pretrained('gpt2')
model = GPT2Model.from_pretrained('gpt2')
inputs = tokenizer("Hello, my dog is cute", return_tensors="pt")
outputs = model(**inputs)
last_hidden_states = outputs.last_hidden_state
所以我意识到“输入”由我句子的标记化项目组成。 但是我怎样才能获得标记化项目的价值呢? (参见示例 ["hello", ",", "my", "dog", "is", "cute"])
我问这个是因为有时我认为如果一个词不在它的字典中(即来自另一种语言的词),它会分离一个词。所以我想在我的代码中检查一下。
您可以在标记器的输出上调用 tokenizer.decode
以从给定索引下的词汇表中获取单词:
>>> inputs = tokenizer("Hello, my dog is cute", return_tensors="pt")
>>> list(map(tokenizer.decode, inputs.input_ids[0]))
['Hello', ',', ' my', ' dog', ' is', ' cute']