Transformers 4.37 中文文档(十三)(8)https://developer.aliyun.com/article/1564953
TFAutoModelForSequenceClassification
class transformers.TFAutoModelForSequenceClassification
( *args **kwargs )
这是一个通用的模型类,当使用 from_pretrained() 类方法或 from_config() 类方法创建时,将被实例化为库中的一个模型类(带有序列分类头)
这个类不能直接使用 __init__()
实例化(会抛出错误)。
from_config
( **kwargs )
参数
config
(PretrainedConfig) — 实例化的模型类基于配置类进行选择:
- AlbertConfig 配置类: TFAlbertForSequenceClassification (ALBERT 模型)
- BartConfig 配置类: TFBartForSequenceClassification (BART 模型)
- BertConfig 配置类: TFBertForSequenceClassification (BERT 模型)
- CTRLConfig 配置类: TFCTRLForSequenceClassification (CTRL 模型)
- CamembertConfig 配置类: TFCamembertForSequenceClassification (CamemBERT 模型)
- ConvBertConfig 配置类: TFConvBertForSequenceClassification (ConvBERT 模型)
- DebertaConfig 配置类: TFDebertaForSequenceClassification (DeBERTa 模型)
- DebertaV2Config 配置类: TFDebertaV2ForSequenceClassification (DeBERTa-v2 模型)
- DistilBertConfig 配置类: TFDistilBertForSequenceClassification (DistilBERT 模型)
- ElectraConfig 配置类: TFElectraForSequenceClassification (ELECTRA 模型)
- EsmConfig 配置类: TFEsmForSequenceClassification (ESM 模型)
- FlaubertConfig 配置类: TFFlaubertForSequenceClassification (FlauBERT 模型)
- FunnelConfig 配置类: TFFunnelForSequenceClassification (Funnel Transformer 模型)
- GPT2Config 配置类: TFGPT2ForSequenceClassification (OpenAI GPT-2 模型)
- GPTJConfig 配置类: TFGPTJForSequenceClassification (GPT-J 模型)
- LayoutLMConfig 配置类: TFLayoutLMForSequenceClassification (LayoutLM 模型)
- LayoutLMv3Config 配置类: TFLayoutLMv3ForSequenceClassification (LayoutLMv3 模型)
- LongformerConfig 配置类: TFLongformerForSequenceClassification (Longformer 模型)
- MPNetConfig 配置类: TFMPNetForSequenceClassification (MPNet 模型)
- MobileBertConfig 配置类: TFMobileBertForSequenceClassification (MobileBERT 模型)
- OpenAIGPTConfig 配置类: TFOpenAIGPTForSequenceClassification (OpenAI GPT 模型)
- RemBertConfig 配置类: TFRemBertForSequenceClassification (RemBERT 模型)
- RoFormerConfig 配置类: TFRoFormerForSequenceClassification (RoFormer 模型)
- RobertaConfig 配置类: TFRobertaForSequenceClassification (RoBERTa 模型)
- RobertaPreLayerNormConfig 配置类: TFRobertaPreLayerNormForSequenceClassification (RoBERTa-PreLayerNorm 模型)
- TapasConfig 配置类: TFTapasForSequenceClassification (TAPAS 模型)
- TransfoXLConfig 配置类: TFTransfoXLForSequenceClassification (Transformer-XL 模型)
- XLMConfig 配置类: TFXLMForSequenceClassification (XLM 模型)
- XLMRobertaConfig 配置类: TFXLMRobertaForSequenceClassification (XLM-RoBERTa 模型)
- XLNetConfig 配置类: TFXLNetForSequenceClassification (XLNet 模型)
从配置实例化库中的一个模型类(带有序列分类头)。
注意: 从配置文件加载模型不会加载模型权重。它只影响模型的配置。使用 from_pretrained()来加载模型权重。
示例:
>>> from transformers import AutoConfig, TFAutoModelForSequenceClassification >>> # Download configuration from huggingface.co and cache. >>> config = AutoConfig.from_pretrained("bert-base-cased") >>> model = TFAutoModelForSequenceClassification.from_config(config)
from_pretrained
( *model_args **kwargs )
参数
pretrained_model_name_or_path
(str
或os.PathLike
) — 可以是:
- 一个字符串,预训练模型的模型 id,托管在 huggingface.co 上的模型存储库中。有效的模型 id 可以位于根级别,如
bert-base-uncased
,或者命名空间在用户或组织名称下,如dbmdz/bert-base-german-cased
。 - 一个目录的路径,其中包含使用 save_pretrained()保存的模型权重,例如,
./my_model_directory/
。 - 路径或 URL 到PyTorch 状态字典保存文件(例如,
./pt_model/pytorch_model.bin
)。在这种情况下,from_pt
应设置为True
,并且应提供配置对象作为config
参数。这种加载路径比使用提供的转换脚本将 PyTorch 模型转换为 TensorFlow 模型并随后加载 TensorFlow 模型要慢。
model_args
(额外的位置参数,可选) — 将传递给底层模型__init__()
方法。config
(PretrainedConfig,可选) — 用于模型的配置,而不是自动加载的配置。当以下情况自动加载配置时:
- 模型是库提供的模型(使用预训练模型的模型 ID字符串加载)。
- 模型是使用 save_pretrained()保存的,并通过提供保存目录重新加载。
- 通过提供本地目录作为
pretrained_model_name_or_path
加载模型,并在目录中找到名为config.json的配置 JSON 文件。
cache_dir
(str
或os.PathLike
,可选) — 下载预训练模型配置应该缓存在其中的目录路径,如果不使用标准缓存。from_pt
(bool
, optional, defaults toFalse
) — 从 PyTorch 检查点保存文件加载模型权重(请参阅pretrained_model_name_or_path
参数的文档字符串)。force_download
(bool
, optional, defaults toFalse
) — 是否强制(重新)下载模型权重和配置文件,覆盖缓存版本(如果存在)。resume_download
(bool
, optional, defaults toFalse
) — 是否删除接收不完整的文件。如果存在这样的文件,将尝试恢复下载。proxies
(Dict[str, str]
, optional) — 一个代理服务器字典,按协议或端点使用,例如,{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}
。代理在每个请求上使用。output_loading_info(bool,
optional, defaults toFalse
) — 是否返回包含缺少键、意外键和错误消息的字典。local_files_only(bool,
optional, defaults toFalse
) — 是否仅查看本地文件(例如,不尝试下载模型)。revision
(str
, optional, defaults to"main"
) — 要使用的特定模型版本。它可以是分支名称、标签名称或提交 ID,因为我们使用基于 git 的系统在 huggingface.co 上存储模型和其他工件,所以revision
可以是 git 允许的任何标识符。trust_remote_code
(bool
, optional, defaults toFalse
) — 是否允许在 Hub 上定义自定义模型的建模文件。此选项应仅对您信任的存储库设置为True
,并且您已阅读代码,因为它将在本地机器上执行 Hub 上存在的代码。code_revision
(str
, optional, defaults to"main"
) — 用于 Hub 上代码的特定修订版本,如果代码存储在与模型其余部分不同的存储库中。它可以是分支名称、标签名称或提交 ID,因为我们使用基于 git 的系统在 huggingface.co 上存储模型和其他工件,所以revision
可以是 git 允许的任何标识符。kwargs
(额外的关键字参数,可选) — 可用于更新配置对象(加载后)并启动模型(例如,output_attentions=True
)。根据是否提供或自动加载config
,行为会有所不同:
- 如果提供了
config
配置,**kwargs
将直接传递给底层模型的__init__
方法(我们假设配置的所有相关更新已经完成)。 - 如果未提供配置,
kwargs
将首先传递给配置类初始化函数(from_pretrained())。kwargs
的每个键对应一个配置属性,将用提供的kwargs
值覆盖该属性。不对应任何配置属性的剩余键将传递给基础模型的__init__
函数。
从预训练模型实例化库中的一个模型类(带有序列分类头)。
要实例化的模型类是根据配置对象的 model_type
属性选择的(作为参数传递或从 pretrained_model_name_or_path
加载,如果可能的话),或者当缺少时,通过在 pretrained_model_name_or_path
上使用模式匹配来回退:
albert
— TFAlbertForSequenceClassification (ALBERT 模型)bart
— TFBartForSequenceClassification (BART 模型)bert
— TFBertForSequenceClassification (BERT 模型)camembert
— TFCamembertForSequenceClassification (CamemBERT 模型)convbert
— TFConvBertForSequenceClassification (ConvBERT 模型)ctrl
— TFCTRLForSequenceClassification (CTRL 模型)deberta
— TFDebertaForSequenceClassification (DeBERTa 模型)deberta-v2
— TFDebertaV2ForSequenceClassification (DeBERTa-v2 模型)distilbert
— TFDistilBertForSequenceClassification (DistilBERT 模型)electra
— TFElectraForSequenceClassification (ELECTRA 模型)esm
— TFEsmForSequenceClassification (ESM 模型)flaubert
— TFFlaubertForSequenceClassification (FlauBERT 模型)funnel
— TFFunnelForSequenceClassification (漏斗变换器模型)gpt-sw3
— TFGPT2ForSequenceClassification (GPT-Sw3 模型)gpt2
— TFGPT2ForSequenceClassification (OpenAI GPT-2 模型)gptj
— TFGPTJForSequenceClassification (GPT-J 模型)layoutlm
— TFLayoutLMForSequenceClassification (LayoutLM 模型)layoutlmv3
— TFLayoutLMv3ForSequenceClassification (LayoutLMv3 模型)longformer
— TFLongformerForSequenceClassification (Longformer 模型)mobilebert
— TFMobileBertForSequenceClassification (MobileBERT 模型)mpnet
— TFMPNetForSequenceClassification (MPNet 模型)openai-gpt
— TFOpenAIGPTForSequenceClassification (OpenAI GPT 模型)rembert
— TFRemBertForSequenceClassification (RemBERT 模型)roberta
— TFRobertaForSequenceClassification (RoBERTa 模型)roberta-prelayernorm
— TFRobertaPreLayerNormForSequenceClassification (RoBERTa-PreLayerNorm 模型)roformer
— TFRoFormerForSequenceClassification (RoFormer 模型)tapas
— TFTapasForSequenceClassification (TAPAS 模型)transfo-xl
— TFTransfoXLForSequenceClassification (Transformer-XL 模型)xlm
— TFXLMForSequenceClassification (XLM 模型)xlm-roberta
— TFXLMRobertaForSequenceClassification (XLM-RoBERTa 模型)xlnet
— TFXLNetForSequenceClassification (XLNet 模型)
示例:
>>> from transformers import AutoConfig, TFAutoModelForSequenceClassification >>> # Download model and configuration from huggingface.co and cache. >>> model = TFAutoModelForSequenceClassification.from_pretrained("bert-base-cased") >>> # Update configuration during loading >>> model = TFAutoModelForSequenceClassification.from_pretrained("bert-base-cased", output_attentions=True) >>> model.config.output_attentions True >>> # Loading from a PyTorch checkpoint file instead of a TensorFlow model (slower) >>> config = AutoConfig.from_pretrained("./pt_model/bert_pt_model_config.json") >>> model = TFAutoModelForSequenceClassification.from_pretrained( ... "./pt_model/bert_pytorch_model.bin", from_pt=True, config=config ... )
FlaxAutoModelForSequenceClassification
class transformers.FlaxAutoModelForSequenceClassification
( *args **kwargs )
这是一个通用的模型类,当使用 from_pretrained() 类方法或 from_config() 类方法创建时,将被实例化为库中的一个模型类(带有序列分类头)。
这个类不能直接使用 __init__()
实例化 (会报错)。
from_config
( **kwargs )
参数
config
(PretrainedConfig) — 根据配置类选择要实例化的模型类:
- AlbertConfig 配置类: FlaxAlbertForSequenceClassification (ALBERT 模型)
- BartConfig 配置类: FlaxBartForSequenceClassification (BART 模型)
- BertConfig 配置类: FlaxBertForSequenceClassification (BERT 模型)
- BigBirdConfig 配置类:FlaxBigBirdForSequenceClassification(BigBird 模型)
- DistilBertConfig 配置类:FlaxDistilBertForSequenceClassification(DistilBERT 模型)
- ElectraConfig 配置类:FlaxElectraForSequenceClassification(ELECTRA 模型)
- MBartConfig 配置类:FlaxMBartForSequenceClassification(mBART 模型)
- RoFormerConfig 配置类:FlaxRoFormerForSequenceClassification(RoFormer 模型)
- RobertaConfig 配置类:FlaxRobertaForSequenceClassification(RoBERTa 模型)
- RobertaPreLayerNormConfig 配置类:FlaxRobertaPreLayerNormForSequenceClassification(RoBERTa-PreLayerNorm 模型)
- XLMRobertaConfig 配置类:FlaxXLMRobertaForSequenceClassification(XLM-RoBERTa 模型)
从配置实例化库中的一个模型类(带有序列分类头)。
注意:从配置文件加载模型不会加载模型权重。它只影响模型的配置。使用 from_pretrained()来加载模型权重。
示例:
>>> from transformers import AutoConfig, FlaxAutoModelForSequenceClassification >>> # Download configuration from huggingface.co and cache. >>> config = AutoConfig.from_pretrained("bert-base-cased") >>> model = FlaxAutoModelForSequenceClassification.from_config(config)
from_pretrained
( *model_args **kwargs )
参数
pretrained_model_name_or_path
(str
或os.PathLike
) — 可以是:
- 一个字符串,预训练模型的模型 ID,托管在 huggingface.co 上的模型存储库内。有效的模型 ID 可以位于根级,如
bert-base-uncased
,或者命名空间在用户或组织名称下,如dbmdz/bert-base-german-cased
。 - 一个包含使用 save_pretrained()保存的模型权重的目录的路径,例如,
./my_model_directory/
。 - 一个PyTorch state_dict 保存文件的路径或 URL(例如,
./pt_model/pytorch_model.bin
)。在这种情况下,from_pt
应设置为True
,并且应提供配置对象作为config
参数。这种加载路径比使用提供的转换脚本将 PyTorch 模型转换为 TensorFlow 模型并随后加载 TensorFlow 模型要慢。
model_args
(额外的位置参数,可选) — 将传递给底层模型的__init__()
方法。config
(PretrainedConfig,可选)- 模型使用的配置,而不是自动加载的配置。当以下情况时,配置可以自动加载:
- 该模型是库提供的模型(使用预训练模型的模型 ID字符串加载)。
- 该模型是使用 save_pretrained()保存的,并通过提供保存目录重新加载。
- 通过提供本地目录作为
pretrained_model_name_or_path
加载模型,并在目录中找到名为config.json的配置 JSON 文件。
cache_dir
(str
或os.PathLike
,可选)- 下载的预训练模型配置应该缓存在其中的目录路径,如果不应使用标准缓存。from_pt
(bool
,可选,默认为False
)- 从 PyTorch 检查点保存文件加载模型权重(参见pretrained_model_name_or_path
参数的文档字符串)。force_download
(bool
,可选,默认为False
)- 是否强制(重新)下载模型权重和配置文件,覆盖缓存版本(如果存在)。resume_download
(bool
,可选,默认为False
)- 是否删除接收不完整的文件。如果存在这样的文件,将尝试恢复下载。proxies
(Dict[str, str]
,可选)- 要使用的代理服务器的字典,按协议或端点划分,例如,{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}
。代理将在每个请求上使用。output_loading_info(bool,
可选,默认为False
)- 是否返回一个包含缺失键、意外键和错误消息的字典。local_files_only(bool,
可选,默认为False
)- 是否仅查看本地文件(例如,不尝试下载模型)。revision
(str
,可选,默认为"main"
)- 要使用的特定模型版本。它可以是分支名称、标签名称或提交 ID,因为我们在 huggingface.co 上使用基于 git 的系统来存储模型和其他工件,所以revision
可以是 git 允许的任何标识符。trust_remote_code
(bool
,可选,默认为False
)- 是否允许在 Hub 上定义自定义模型的自定义建模文件。此选项应仅对您信任的存储库设置为True
,并且您已阅读了代码,因为它将在本地机器上执行 Hub 上存在的代码。code_revision
(str
,可选,默认为"main"
)- 在 Hub 上使用的代码的特定修订版本,如果代码存储在与模型其余部分不同的存储库中。它可以是分支名称、标签名称或提交 ID,因为我们在 huggingface.co 上使用基于 git 的系统来存储模型和其他工件,所以revision
可以是 git 允许的任何标识符。kwargs
(额外的关键字参数,可选)- 可用于更新配置对象(在加载后)并启动模型(例如,output_attentions=True
)。根据是否提供config
或自动加载的情况而表现不同:
- 如果提供了
config
,**kwargs
将直接传递给底层模型的__init__
方法(我们假设配置的所有相关更新已经完成) - 如果未提供配置,则
kwargs
将首先传递给配置类初始化函数(from_pretrained())。与配置属性对应的kwargs
的每个键将用提供的kwargs
值覆盖该属性。不对应任何配置属性的剩余键将传递给底层模型的__init__
函数。
从预训练模型中实例化库的模型类之一(带有序列分类头)。
要实例化的模型类是根据配置对象的model_type
属性选择的(如果可能,作为参数传递或从pretrained_model_name_or_path
加载),或者当缺少时,通过在pretrained_model_name_or_path
上使用模式匹配来回退:
albert
— FlaxAlbertForSequenceClassification(ALBERT 模型)bart
— FlaxBartForSequenceClassification(BART 模型)bert
— FlaxBertForSequenceClassification(BERT 模型)big_bird
— FlaxBigBirdForSequenceClassification(BigBird 模型)distilbert
— FlaxDistilBertForSequenceClassification(DistilBERT 模型)electra
— FlaxElectraForSequenceClassification(ELECTRA 模型)mbart
— FlaxMBartForSequenceClassification(mBART 模型)roberta
— FlaxRobertaForSequenceClassification(RoBERTa 模型)roberta-prelayernorm
— FlaxRobertaPreLayerNormForSequenceClassification(RoBERTa-PreLayerNorm 模型)roformer
— FlaxRoFormerForSequenceClassification(RoFormer 模型)xlm-roberta
— FlaxXLMRobertaForSequenceClassification(XLM-RoBERTa 模型)
示例:
>>> from transformers import AutoConfig, FlaxAutoModelForSequenceClassification >>> # Download model and configuration from huggingface.co and cache. >>> model = FlaxAutoModelForSequenceClassification.from_pretrained("bert-base-cased") >>> # Update configuration during loading >>> model = FlaxAutoModelForSequenceClassification.from_pretrained("bert-base-cased", output_attentions=True) >>> model.config.output_attentions True >>> # Loading from a PyTorch checkpoint file instead of a TensorFlow model (slower) >>> config = AutoConfig.from_pretrained("./pt_model/bert_pt_model_config.json") >>> model = FlaxAutoModelForSequenceClassification.from_pretrained( ... "./pt_model/bert_pytorch_model.bin", from_pt=True, config=config ... )
AutoModelForMultipleChoice
class transformers.AutoModelForMultipleChoice
( *args **kwargs )
这是一个通用的模型类,当使用 from_pretrained()类方法或 from_config()类方法创建时,将被实例化为库的模型类之一(带有多选头)。
这个类不能直接使用__init__()
实例化(会抛出错误)。
from_config
( **kwargs )
参数
config
(PretrainedConfig) — 要实例化的模型类是根据配置类选择的:
- AlbertConfig 配置类:AlbertForMultipleChoice(ALBERT 模型)
- BertConfig 配置类:BertForMultipleChoice(BERT 模型)
- BigBirdConfig 配置类:BigBirdForMultipleChoice(BigBird 模型)
- CamembertConfig 配置类:CamembertForMultipleChoice(CamemBERT 模型)
- CanineConfig 配置类:CanineForMultipleChoice(CANINE 模型)
- ConvBertConfig 配置类:ConvBertForMultipleChoice(ConvBERT 模型)
- Data2VecTextConfig 配置类:Data2VecTextForMultipleChoice(Data2VecText 模型)
- DebertaV2Config 配置类:DebertaV2ForMultipleChoice(DeBERTa-v2 模型)
- DistilBertConfig 配置类:DistilBertForMultipleChoice(DistilBERT 模型)
- ElectraConfig 配置类:ElectraForMultipleChoice(ELECTRA 模型)
- ErnieConfig 配置类:ErnieForMultipleChoice(ERNIE 模型)
- ErnieMConfig 配置类:ErnieMForMultipleChoice(ErnieM 模型)
- FNetConfig 配置类:FNetForMultipleChoice(FNet 模型)
- FlaubertConfig 配置类:FlaubertForMultipleChoice(FlauBERT 模型)
- FunnelConfig 配置类:FunnelForMultipleChoice(Funnel Transformer 模型)
- IBertConfig 配置类:IBertForMultipleChoice(I-BERT 模型)
- LongformerConfig 配置类:LongformerForMultipleChoice(Longformer 模型)
- LukeConfig 配置类:LukeForMultipleChoice(LUKE 模型)
- MPNetConfig 配置类: MPNetForMultipleChoice (MPNet 模型)
- MegaConfig 配置类: MegaForMultipleChoice (MEGA 模型)
- MegatronBertConfig 配置类: MegatronBertForMultipleChoice (Megatron-BERT 模型)
- MobileBertConfig 配置类: MobileBertForMultipleChoice (MobileBERT 模型)
- MraConfig 配置类: MraForMultipleChoice (MRA 模型)
- NezhaConfig 配置类: NezhaForMultipleChoice (Nezha 模型)
- NystromformerConfig 配置类: NystromformerForMultipleChoice (Nyströmformer 模型)
- QDQBertConfig 配置类: QDQBertForMultipleChoice (QDQBert 模型)
- RemBertConfig 配置类: RemBertForMultipleChoice (RemBERT 模型)
- RoCBertConfig 配置类: RoCBertForMultipleChoice (RoCBert 模型)
- RoFormerConfig 配置类: RoFormerForMultipleChoice (RoFormer 模型)
- RobertaConfig 配置类: RobertaForMultipleChoice (RoBERTa 模型)
- RobertaPreLayerNormConfig 配置类: RobertaPreLayerNormForMultipleChoice (RoBERTa-PreLayerNorm 模型)
- SqueezeBertConfig 配置类: SqueezeBertForMultipleChoice (SqueezeBERT 模型)
- XLMConfig 配置类: XLMForMultipleChoice (XLM 模型)
- XLMRobertaConfig 配置类:XLMRobertaForMultipleChoice(XLM-RoBERTa 模型)
- XLMRobertaXLConfig 配置类:XLMRobertaXLForMultipleChoice(XLM-RoBERTa-XL 模型)
- XLNetConfig 配置类:XLNetForMultipleChoice(XLNet 模型)
- XmodConfig 配置类:XmodForMultipleChoice(X-MOD 模型)
- YosoConfig 配置类:YosoForMultipleChoice(YOSO 模型)
从配置中实例化库中的一个模型类(带有多选头)。
注意:从配置文件加载模型不会加载模型权重。它只影响模型的配置。使用 from_pretrained()来加载模型权重。
示例:
>>> from transformers import AutoConfig, AutoModelForMultipleChoice >>> # Download configuration from huggingface.co and cache. >>> config = AutoConfig.from_pretrained("bert-base-cased") >>> model = AutoModelForMultipleChoice.from_config(config)
from_pretrained
( *model_args **kwargs )
参数
pretrained_model_name_or_path
(str
或os.PathLike
)— 可以是以下之一:
- 一个字符串,托管在 huggingface.co 模型存储库中的预训练模型的模型 id。有效的模型 id 可以位于根级别,如
bert-base-uncased
,或者在用户或组织名称下命名空间化,如dbmdz/bert-base-german-cased
。 - 一个目录的路径,其中包含使用 save_pretrained()保存的模型权重,例如,
./my_model_directory/
。 - 一个路径或 url 到一个tensorflow 索引检查点文件(例如,
./tf_model/model.ckpt.index
)。在这种情况下,from_tf
应设置为True
,并且应将配置对象提供为config
参数。这种加载路径比使用提供的转换脚本将 TensorFlow 检查点转换为 PyTorch 模型并加载 PyTorch 模型要慢。
model_args
(额外的位置参数,可选)— 将传递给底层模型的__init__()
方法。config
(PretrainedConfig,可选)— 用于替代自动加载的配置的模型配置。当以下情况时,配置可以自动加载:
- 该模型是库提供的模型(使用预训练模型的模型 id字符串加载)。
- 该模型是使用 save_pretrained()保存的,并通过提供保存目录重新加载。
- 通过提供本地目录作为
pretrained_model_name_or_path
加载模型,并且在目录中找到名为config.json的配置 JSON 文件。
state_dict
(Dict[str, torch.Tensor],可选)— 一个状态字典,用于替代从保存的权重文件加载的状态字典。
如果您想从预训练配置创建模型但加载自己的权重,则可以使用此选项。不过,在这种情况下,您应该检查使用 save_pretrained()和 from_pretrained()是否不是更简单的选项。cache_dir
(str
或os.PathLike
,可选) — 下载预训练模型配置应缓存的目录路径,如果不使用标准缓存。from_tf
(bool
,可选,默认为False
) — 从 TensorFlow 检查点保存文件加载模型权重(请参阅pretrained_model_name_or_path
参数的文档字符串)。force_download
(bool
,可选,默认为False
)— 是否强制(重新)下载模型权重和配置文件,覆盖缓存版本(如果存在)。resume_download
(bool
,可选,默认为False
)— 是否删除接收不完整的文件。如果存在这样的文件,将尝试恢复下载。proxies
(Dict[str, str]
,可选)— 一个代理服务器字典,按协议或端点使用,例如,{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}
。这些代理在每个请求中使用。output_loading_info(bool,
可选,默认为False
) — 是否还返回包含缺失键、意外键和错误消息的字典。local_files_only(bool,
可选,默认为False
) — 是否仅查看本地文件(例如,不尝试下载模型)。revision
(str
,可选,默认为"main"
) — 要使用的特定模型版本。它可以是分支名称、标签名称或提交 ID,因为我们使用基于 git 的系统在 huggingface.co 上存储模型和其他工件,所以revision
可以是 git 允许的任何标识符。trust_remote_code
(bool
,可选,默认为False
)— 是否允许在 Hub 上定义自定义模型的建模文件。此选项应仅对您信任的存储库设置为True
,并且您已经阅读了代码,因为它将在本地机器上执行 Hub 上存在的代码。code_revision
(str
,可选,默认为"main"
) — 用于 Hub 上代码的特定修订版本,如果代码位于与模型其余部分不同的存储库中。它可以是分支名称、标签名称或提交 ID,因为我们使用基于 git 的系统在 huggingface.co 上存储模型和其他工件,所以revision
可以是 git 允许的任何标识符。kwargs
(附加关键字参数,可选) — 可用于更新配置对象(加载后)并启动模型(例如,output_attentions=True
)。根据是否提供或自动加载config
,其行为有所不同:
- 如果使用
config
提供了配置,则**kwargs
将直接传递给底层模型的__init__
方法(我们假设配置的所有相关更新已经完成) - 如果未提供配置,则
kwargs
将首先传递给配置类初始化函数(from_pretrained())。kwargs
中与配置属性对应的每个键将用提供的kwargs
值覆盖该属性。不对应任何配置属性的剩余键将传递给底层模型的__init__
函数。
从预训练模型实例化库中的一个模型类(带有多选头)。
要实例化的模型类是根据配置对象的 model_type
属性选择的(如果可能,作为参数传递或从 pretrained_model_name_or_path
加载),或者当缺失时,通过在 pretrained_model_name_or_path
上使用模式匹配来回退:
albert
— AlbertForMultipleChoice (ALBERT 模型)bert
— BertForMultipleChoice (BERT 模型)big_bird
— BigBirdForMultipleChoice (BigBird 模型)camembert
— CamembertForMultipleChoice (CamemBERT 模型)canine
— CanineForMultipleChoice (CANINE 模型)convbert
— ConvBertForMultipleChoice (ConvBERT 模型)data2vec-text
— Data2VecTextForMultipleChoice (Data2VecText 模型)deberta-v2
— DebertaV2ForMultipleChoice (DeBERTa-v2 模型)distilbert
— DistilBertForMultipleChoice (DistilBERT 模型)electra
— ElectraForMultipleChoice (ELECTRA 模型)ernie
— ErnieForMultipleChoice (ERNIE 模型)ernie_m
— ErnieMForMultipleChoice (ErnieM 模型)flaubert
— FlaubertForMultipleChoice (FlauBERT 模型)fnet
— FNetForMultipleChoice (FNet 模型)funnel
— FunnelForMultipleChoice (Funnel Transformer 模型)ibert
— IBertForMultipleChoice (I-BERT 模型)longformer
— LongformerForMultipleChoice (Longformer 模型)luke
— LukeForMultipleChoice (LUKE 模型)mega
— MegaForMultipleChoice (MEGA 模型)megatron-bert
— MegatronBertForMultipleChoice (Megatron-BERT 模型)mobilebert
— MobileBertForMultipleChoice (MobileBERT 模型)mpnet
— MPNetForMultipleChoice (MPNet 模型)mra
— MraForMultipleChoice (MRA 模型)nezha
— NezhaForMultipleChoice (Nezha 模型)nystromformer
— NystromformerForMultipleChoice (Nyströmformer 模型)qdqbert
— QDQBertForMultipleChoice(QDQBert 模型)rembert
— RemBertForMultipleChoice(RemBERT 模型)roberta
— RobertaForMultipleChoice(RoBERTa 模型)roberta-prelayernorm
— RobertaPreLayerNormForMultipleChoice(RoBERTa-PreLayerNorm 模型)roc_bert
— RoCBertForMultipleChoice(RoCBert 模型)roformer
— RoFormerForMultipleChoice(RoFormer 模型)squeezebert
— SqueezeBertForMultipleChoice(SqueezeBERT 模型)xlm
— XLMForMultipleChoice(XLM 模型)xlm-roberta
— XLMRobertaForMultipleChoice(XLM-RoBERTa 模型)xlm-roberta-xl
— XLMRobertaXLForMultipleChoice(XLM-RoBERTa-XL 模型)xlnet
— XLNetForMultipleChoice(XLNet 模型)xmod
— XmodForMultipleChoice(X-MOD 模型)yoso
— YosoForMultipleChoice(YOSO 模型)
默认情况下,模型处于评估模式,使用 model.eval()
(例如,关闭了 dropout 模块)。要训练模型,您应该首先使用 model.train()
将其设置回训练模式
示例:
>>> from transformers import AutoConfig, AutoModelForMultipleChoice >>> # Download model and configuration from huggingface.co and cache. >>> model = AutoModelForMultipleChoice.from_pretrained("bert-base-cased") >>> # Update configuration during loading >>> model = AutoModelForMultipleChoice.from_pretrained("bert-base-cased", output_attentions=True) >>> model.config.output_attentions True >>> # Loading from a TF checkpoint file instead of a PyTorch model (slower) >>> config = AutoConfig.from_pretrained("./tf_model/bert_tf_model_config.json") >>> model = AutoModelForMultipleChoice.from_pretrained( ... "./tf_model/bert_tf_checkpoint.ckpt.index", from_tf=True, config=config ... )
TFAutoModelForMultipleChoice
class transformers.TFAutoModelForMultipleChoice
( *args **kwargs )
这是一个通用的模型类,当使用 from_pretrained() 类方法或 from_config() 类方法创建时,将实例化为库中的模型类之一(带有多选头)。
这个类不能直接使用 __init__()
实例化(会抛出错误)。
from_config
( **kwargs )
参数
config
(PretrainedConfig) — 根据配置类选择要实例化的模型类:
- AlbertConfig 配置类:TFAlbertForMultipleChoice(ALBERT 模型)
- BertConfig 配置类:TFBertForMultipleChoice(BERT 模型)
- CamembertConfig 配置类:TFCamembertForMultipleChoice(CamemBERT 模型)
- ConvBertConfig 配置类: TFConvBertForMultipleChoice (ConvBERT 模型)
- DebertaV2Config 配置类: TFDebertaV2ForMultipleChoice (DeBERTa-v2 模型)
- DistilBertConfig 配置类: TFDistilBertForMultipleChoice (DistilBERT 模型)
- ElectraConfig 配置类: TFElectraForMultipleChoice (ELECTRA 模型)
- FlaubertConfig 配置类: TFFlaubertForMultipleChoice (FlauBERT 模型)
- FunnelConfig 配置类: TFFunnelForMultipleChoice (Funnel Transformer 模型)
- LongformerConfig 配置类: TFLongformerForMultipleChoice (Longformer 模型)
- MPNetConfig 配置类: TFMPNetForMultipleChoice (MPNet 模型)
- MobileBertConfig 配置类: TFMobileBertForMultipleChoice (MobileBERT 模型)
- RemBertConfig 配置类: TFRemBertForMultipleChoice (RemBERT 模型)
- RoFormerConfig 配置类: TFRoFormerForMultipleChoice (RoFormer 模型)
- RobertaConfig 配置类: TFRobertaForMultipleChoice (RoBERTa 模型)
- RobertaPreLayerNormConfig 配置类: TFRobertaPreLayerNormForMultipleChoice (RoBERTa-PreLayerNorm 模型)
- XLMConfig 配置类: TFXLMForMultipleChoice (XLM 模型)
- XLMRobertaConfig 配置类: TFXLMRobertaForMultipleChoice (XLM-RoBERTa 模型)
- XLNetConfig 配置类:TFXLNetForMultipleChoice(XLNet 模型)
从配置实例化库中的一个模型类(带有多选头)。
注意:从配