首页 > 其他分享 >HuggingFace | config.json参数讲解

HuggingFace | config.json参数讲解

时间:2023-07-30 12:33:22浏览次数:83  
标签:文件 模型 HuggingFace json config dropout 加载

在Hugging Face中,config.json文件是用于配置预训练模型参数的文件。这个文件通常包含了模型的架构、超参数和其他模型配置信息。它是一个JSON格式的文件,可以在加载模型时用来初始化模型的配置。

在加载模型时,from_pretrained()方法通常会自动加载相应的config.json文件。例如,BertForSequenceClassification.from_pretrained()方法会自动加载BERT模型的config.json文件。加载后,该方法会使用配置文件中的参数来创建一个新的模型。

Hugging Face中的config.json文件包含了用于配置预训练模型参数的选项,不同的模型类型和架构可能会有不同的选项。以下是一些可能出现在config.json文件中的常见选项:

  • _name_or_path: 模型的名称或路径。
  • architectures: 模型所使用的架构。
  • attention_probs_dropout_prob: 注意力矩阵中的dropout概率。
  • bos_token_id: 开始标记的ID。
  • decoder_start_token_id: 解码器的起始标记ID。
  • dropout: Dropout的概率。
  • eos_token_id: 终止标记的ID。
  • hidden_act: 激活函数的类型,如gelurelu等等。
  • hidden_dropout_prob: 隐藏层中的dropout概率。
  • hidden_size: 模型隐藏层的大小。
  • initializer_range: 参数初始化的范围。
  • intermediate_size: 每个隐藏层中间层的大小。
  • is_decoder: 是否为解码器。
  • is_encoder_decoder: 是否是编码器-解码器架构。
  • layer_norm_eps: LayerNorm层中epsilon的值。
  • n_head: 头部的数量。
  • n_layers: 模型中的总层数。
  • num_attention_heads: 每个隐藏层中的自注意头的数量。
  • num_hidden_layers: 模型的隐藏层数量。
  • pad_token_id: 填充标记的ID。
  • tie_word_embeddings: 是否将编码器和解码器的词嵌入层绑定。
  • tokenizer_class: 使用的分词器的类。
  • transformer_type: Transformer模型的类型。
  • transformers_version: Transformers库的版本号。
  • type_vocab_size: 类型词汇表的大小。
  • use_cache: 是否使用缓存。
  • vocab_size: 词汇表的大小。

上述选项只是一些常见的选项,具体的选项和对应的值会因不同的模型类型和架构而有所不同。除了上述字段之外,config.json文件还可能包含其他特定于模型的配置信息。在加载模型时,可以使用AutoConfig.from_pretrained()方法自动加载正确的模型配置文件。

如:使用了bert-base-uncased作为模型名称,该方法会自动从Hugging Face模型仓库中下载对应的配置文件并加载。如果已经下载过该模型,则会从本地文件系统中加载。

总结

  • 使用huggingface的from_pretrained()方法来加载模型和分词器需要模型的config.json文件,然后使用这个方法自动加载对应的模型和分词器。不同的模型和分词器类对应着不同的config.json文件,具体的模型对应具体的模型和分词器类。

标签:文件,模型,HuggingFace,json,config,dropout,加载
From: https://www.cnblogs.com/zhangxuegold/p/17591259.html

相关文章

  • HuggingFace | 各种tokenizer有啥区别
    在HuggingFace中,有多种不同的tokenizer实现可供选择,每种实现都有其独特的优缺点和用途。BertTokenizer:适用于BERT模型,支持WordPiece分词和Byte-PairEncoding(BPE)分词算法。它还支持对输入序列进行截断和填充,以适应模型的输入要求。RobertaTokenizer:适用于RoBERTa模......
  • springboot的controller如何拿到post请求中的json数据
    在SpringBoot的Controller中,可以使用注解@RequestBody来获取POST请求中的JSON数据。我们可以将这个注解应用到一个Controller方法的参数上,Spring将会负责读取请求正文中的数据,将其反序列化为一个Java对象,并将其作为Controller方法的参数传递。以Java代码为例,示例代码如下:@RestC......
  • 【Json】字符串自动生成C#类
    前言最近做项目需要和其他项目组同事做对接,需要先把相关接口的出入参定义好,再去做具体的实现。这里,既然出入参都定义好了,何不根据json直接生成好相关的类、契约层、应用等代码呢。参考1、使用VS,编辑->选择性粘贴->将JSON粘贴为类2、使用Microsoft.JScript.dll类库,https://www.......
  • 一起来做一个json格式化工具吧
    说到json格式化你肯定很熟悉,毕竟压缩后的json数据基本不可读,为了方便查看,我们可以在编辑器中可以通过插件一键格式化,也可以通过一些在线工具来美化,当然,有时在开发中也会遇到json格式化的需求,有很多开源库或组件能我们解决这个问题,不过并不妨碍我们自己实现一个。最简单的方式应该就......
  • Your configuration specifies to merge with the ref
    目录Yourconfigurationspecifiestomergewiththeref1.执行gitpull命令时,错误提示:1.1场景:分支名称拼写错误1.1.1场景描述1.1.2产生原因1.1.3解决方案1.2场景:远程端同名分支已被删除1.2.1场景描述1.2.2产生原因1.2.3解决方案1.3场景:其它场景(排除场景1和场景2)1.3.......
  • 【Java】使用fastjson进行序列化时出现空指针异常问题研究
    最近在使用fastjson的JSONObject.toJSONString()方法将bean对象转为字符串的时候报如下错误:com.alibaba.fastjson.JSONException:writejavaBeanerror,fastjsonversion1.2.58,classcom.sun.proxy.$Proxy395,fieldName:0 atcom.alibaba.fastjson.serializer.JavaBeanS......
  • HuggingFace | HuggingFace中from_pretrained函数的加载
    我们使用huggingface的from_pretrained()函数加载模型和tokenizer,那么加载这些需要什么文件?加载模型测试代码:如果加载成功,就打印1。fromtransformersimportAutoModelForMaskedLMmodel=AutoModelForMaskedLM.from_pretrained("./bert-base-chinese")print(1)文件目......
  • Huggingface | 修改模型的embedding
    目标:在NLP领域,基于公开语料的预训练模型,在专业领域迁移时,会遇到专业领域词汇不在词汇表的问题,本文介绍如何添加专有名词到预训练模型。NLP的处理流程:对输入的句子进行分词,得到词语及下标通过embedding层获得词语对应的embeddingembedding送入到预训练模型,经过attention注意......
  • SAP Fiori Elements 应用 metadata.xml 解析成的 JSON 对象
    在这个文件设置断点: AnnotationParser._parserData.metadataProperties=AnnotationParser.getAllPropertiesMetadata(AnnotationParser._parserData.serviceMetadata); if(AnnotationParser._parserData.metadataProperties.extensions){ mappingList.propertyExtensi......
  • 如何在 SAP Fiori Elements 应用的 manifest.json 里定义注解
    在SAPFioriElements应用中,manifest.json文件是应用的主要配置文件,其中定义了应用的元数据、模型、服务等信息。其中,dataSources区域负责描述应用使用的数据源,比如OData服务或者其他类型的后端服务。在dataSources区域的settings字段中,我们可以定义annotations,它们是......