Размер словаря BertTokenizer в зависимости от длины токенизатораPython

Программы на Python
Anonymous
Размер словаря BertTokenizer в зависимости от длины токенизатора

Сообщение Anonymous »

Я вручную добавил словари в BertTokenizer. Исходный предварительно обученный BertTokenizer имеет 51 271 словарь, и я добавил в токенайзер 209 902 словаря (следовательно, общий размер словаря составляет 261 173) с помощью add_tokens(). Я сохраняю модифицированный токенизатор с помощью функции save_pretrained() в локальной папке ./vocab, где дополнительные 209 902 токена сохраняются в файле add_tokens.json вместо объединения с vocab. .txt.
Затем я загружаю BertTokenizer со следующими кодами:

Код: Выделить всё

from transformers import BertTokenizer
tokenizer = BertTokenizer.from_pretrained("./vocab")
print(len(tokenizer)) # 261173
print(tokenizer.vocab_size) # 51271
print(len(tokenizer.get_vocab())) # 261173
Вопрос: Как сделать vocab_size идентичным общему размеру словаря (т. е. 261173)?
Причина, по которой я спрашиваю, заключается в том, что я использую платформу MEGATRON для предварительного обучения модели с помощью этого токенизатора, но после предварительного обучения кажется, что недавно добавленные словари все еще не используются. Соответствующий скрипт MEGATRON можно найти здесь.
Следует ли вручную заменить строку на return len(self.tokenizer) или return len(self.tokenizer.get_vocab()) ?

Подробнее здесь: https://stackoverflow.com/questions/790 ... -tokenizer

Вернуться в «Python»