Tokenizer tiết kiệm mặt ôm
Tôi đang cố gắng lưu tokenizer trong ôm mặt để tôi có thể tải nó sau này từ một vùng chứa mà tôi không cần truy cập internet.
BASE_MODEL = "distilbert-base-multilingual-cased"
tokenizer = AutoTokenizer.from_pretrained(BASE_MODEL)
tokenizer.save_vocabulary("./models/tokenizer/")
tokenizer2 = AutoTokenizer.from_pretrained("./models/tokenizer/")
Tuy nhiên, dòng cuối cùng là lỗi:
OSError: Can't load config for './models/tokenizer3/'. Make sure that:
- './models/tokenizer3/' is a correct model identifier listed on 'https://huggingface.co/models'
- or './models/tokenizer3/' is the correct path to a directory containing a config.json file
phiên bản máy biến áp: 3.1.0
Thật không may, cách tải tokenizer đã lưu từ mô hình định sẵn trong Pytorch .
Chỉnh sửa 1
Nhờ câu trả lời của @ ashwin bên dưới, tôi đã thử save_pretrainedthay thế và gặp lỗi sau:
OSError: Can't load config for './models/tokenizer/'. Make sure that:
- './models/tokenizer/' is a correct model identifier listed on 'https://huggingface.co/models'
- or './models/tokenizer/' is the correct path to a directory containing a config.json file
nội dung của thư mục tokenizer bên dưới:
Tôi đã thử đổi tên tokenizer_config.jsonthành config.jsonvà sau đó tôi gặp lỗi:
ValueError: Unrecognized model in ./models/tokenizer/. Should have a `model_type` key in its config.json, or contain one of the following strings in its name: retribert, t5, mobilebert, distilbert, albert, camembert, xlm-roberta, pegasus, marian, mbart, bart, reformer, longformer, roberta, flaubert, bert, openai-gpt, gpt2, transfo-xl, xlnet, xlm, ctrl, electra, encoder-decoder
Trả lời
save_vocabulary(), chỉ lưu tệp từ vựng của tokenizer (Danh sách mã thông báo BPE).
Để lưu toàn bộ tokenizer, bạn nên sử dụng save_pretrained()
Như sau:
BASE_MODEL = "distilbert-base-multilingual-cased"
tokenizer = AutoTokenizer.from_pretrained(BASE_MODEL)
tokenizer.save_pretrained("./models/tokenizer/")
tokenizer2 = DistilBertTokenizer.from_pretrained("./models/tokenizer/")
Biên tập:
vì một số lý do không xác định: thay vì
tokenizer2 = AutoTokenizer.from_pretrained("./models/tokenizer/")
sử dụng
tokenizer2 = DistilBertTokenizer.from_pretrained("./models/tokenizer/")
làm.