首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ValueError:./MRPC/中未识别的模型。应该在其`model_type`中有一个config.json键,或者在其名称中包含以下字符串之一

ValueError:./MRPC/中未识别的模型。应该在其`model_type`中有一个config.json键,或者在其名称中包含以下字符串之一
EN

Stack Overflow用户
提问于 2022-01-13 13:32:15
回答 1查看 921关注 0票数 1

目标:修改此记事本以配合AlbertDistilbert模型

内核:conda_pytorch_p36.我重新启动并运行了所有文件,并在工作目录中刷新了文件视图。

错误发生在第1.2节中,仅针对这两个新模型。

对于文件名等,我创建了一个在任何地方使用的变量:

代码语言:javascript
运行
复制
MODEL_NAME = 'albert-base-v2'  # 'distilbert-base-uncased', 'bert-base-uncased'

我将进口商品改为:

代码语言:javascript
运行
复制
from transformers import (AutoConfig, AutoModel, AutoTokenizer)
#from transformers import (BertConfig, BertForSequenceClassification, BertTokenizer,)

正如变压器文档.自动类中所建议的。

实例化AutoConfig、AutoModel和AutoTokenizer之一将直接创建相关体系结构的类。

第1.2节:

代码语言:javascript
运行
复制
# load model
model = AutoModel.from_pretrained(configs.output_dir)  # BertForSequenceClassification
model.to(configs.device)


# quantize model
quantized_model = torch.quantization.quantize_dynamic(
    model, {torch.nn.Linear}, dtype=torch.qint8
)

#print(quantized_model)

def print_size_of_model(model):
    torch.save(model.state_dict(), "temp.p")
    print('Size (MB):', os.path.getsize("temp.p")/(1024*1024))
    os.remove('temp.p')

print_size_of_model(model)
print_size_of_model(quantized_model)

回溯:

代码语言:javascript
运行
复制
ValueError: Unrecognized model in ./MRPC/. Should have a `model_type` key in its config.json, or contain one of the following strings in its name: imagegpt, qdqbert, vision-encoder-decoder, trocr, fnet, segformer, vision-text-dual-encoder, perceiver, gptj, layoutlmv2, beit, rembert, visual_bert, canine, roformer, clip, bigbird_pegasus, deit, luke, detr, gpt_neo, big_bird, speech_to_text_2, speech_to_text, vit, wav2vec2, m2m_100, convbert, led, blenderbot-small, retribert, ibert, mt5, t5, mobilebert, distilbert, albert, bert-generation, camembert, xlm-roberta, pegasus, marian, mbart, megatron-bert, mpnet, bart, blenderbot, reformer, longformer, roberta, deberta-v2, deberta, flaubert, fsmt, squeezebert, hubert, bert, openai-gpt, gpt2, transfo-xl, xlnet, xlm-prophetnet, prophetnet, xlm, ctrl, electra, speech-encoder-decoder, encoder-decoder, funnel, lxmert, dpr, layoutlm, rag, tapas, splinter, sew-d, sew, unispeech-sat, unispeech, wavlm

如果还有什么可以添加到帖子中,请告诉我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-13 14:10:59

解释:

实例化AutoModel时,必须在./MRPC/config.json文件中指定一个model_type参数(在笔记本运行时下载)。

model_types列表可以找到这里

解决方案:

以相同格式将model_type附加到config.json的代码:

代码语言:javascript
运行
复制
import json

json_filename = './MRPC/config.json'

with open(json_filename) as json_file:
    json_decoded = json.load(json_file)

json_decoded['model_type'] = # !!

with open(json_filename, 'w') as json_file:
    json.dump(json_decoded, json_file, indent=2, separators=(',', ': '))

config.json

代码语言:javascript
运行
复制
{
  "attention_probs_dropout_prob": 0.1,
  "finetuning_task": "mrpc",
  "hidden_act": "gelu",
  "hidden_dropout_prob": 0.1,
  "hidden_size": 768,
  "initializer_range": 0.02,
  "intermediate_size": 3072,
  "layer_norm_eps": 1e-12,
  "max_position_embeddings": 512,
  "num_attention_heads": 12,
  "num_hidden_layers": 12,
  "num_labels": 2,
  "output_attentions": false,
  "output_hidden_states": false,
  "pruned_heads": {},
  "torchscript": false,
  "type_vocab_size": 2,
  "vocab_size": 30522,
  "model_type": "albert"
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70697470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档