HuggingFace - config.json 中的 GPT2 标记器配置
Posted
技术标签:
【中文标题】HuggingFace - config.json 中的 GPT2 标记器配置【英文标题】:HuggingFace - GPT2 Tokenizer configuration in config.json 【发布时间】:2021-05-22 08:42:36 【问题描述】:GPT2 微调模型上传到huggingface-models 以供推理
在推理过程中观察到以下错误,
无法使用 from_pretrained 加载分词器,请更新其配置:无法为“bala1802/model_1_test”加载分词器。确保: - “bala1802/model_1_test”是“https://huggingface.co/models”上列出的正确模型标识符 - 或“bala1802/model_1_test”是包含相关标记器文件的目录的正确路径
下面是 Finetuned huggingface 模型的配置 - config.json 文件,
"_name_or_path": "gpt2",
"activation_function": "gelu_new",
"architectures": [
"GPT2LMHeadModel"
],
"attn_pdrop": 0.1,
"bos_token_id": 50256,
"embd_pdrop": 0.1,
"eos_token_id": 50256,
"gradient_checkpointing": false,
"initializer_range": 0.02,
"layer_norm_epsilon": 1e-05,
"model_type": "gpt2",
"n_ctx": 1024,
"n_embd": 768,
"n_head": 12,
"n_inner": null,
"n_layer": 12,
"n_positions": 1024,
"resid_pdrop": 0.1,
"summary_activation": null,
"summary_first_dropout": 0.1,
"summary_proj_to_labels": true,
"summary_type": "cls_index",
"summary_use_proj": true,
"task_specific_params":
"text-generation":
"do_sample": true,
"max_length": 50
,
"transformers_version": "4.3.2",
"use_cache": true,
"vocab_size": 50257
我是否应该像 config.json 文件中的 "model_type": "gpt2"
一样配置 GPT2 Tokenizer
【问题讨论】:
【参考方案1】:您的存储库不包含创建标记器所需的文件。您似乎只上传了模型的文件。创建一个用于训练模型的标记器对象,并使用save_pretrained() 保存所需的文件:
from transformers import GPT2Tokenizer
t = GPT2Tokenizer.from_pretrained("gpt2")
t.save_pretrained('/SOMEFOLDER/')
输出:
('/SOMEFOLDER/tokenizer_config.json',
'/SOMEFOLDER/special_tokens_map.json',
'/SOMEFOLDER/vocab.json',
'/SOMEFOLDER/merges.txt',
'/SOMEFOLDER/added_tokens.json')
【讨论】:
以上是关于HuggingFace - config.json 中的 GPT2 标记器配置的主要内容,如果未能解决你的问题,请参考以下文章
使用 huggingface 的 distilbert 模型生成文本
使用 huggingface 库会报错:KeyError: 'logits'