Transformers 4.37 中文文档(十三)(4)https://developer.aliyun.com/article/1564949
TFAutoModel
class transformers.TFAutoModel
( *args **kwargs )
这是一个通用的模型类,在使用 from_pretrained() 类方法或 from_config() 类方法创建时,会被实例化为库中的基础模型类之一。
这个类不能直接使用 __init__()
实例化(会报错)。
from_config
( **kwargs )
参数
config
(PretrainedConfig) — 根据配置类选择要实例化的模型类:
- AlbertConfig 配置类: TFAlbertModel (ALBERT 模型)
- BartConfig 配置类: TFBartModel (BART 模型)
- BertConfig 配置类: TFBertModel (BERT 模型)
- BlenderbotConfig 配置类: TFBlenderbotModel (Blenderbot 模型)
- BlenderbotSmallConfig 配置类: TFBlenderbotSmallModel (BlenderbotSmall 模型)
- BlipConfig 配置类: TFBlipModel (BLIP 模型)
- CLIPConfig 配置类: TFCLIPModel (CLIP 模型)
- CTRLConfig 配置类: TFCTRLModel (CTRL 模型)
- CamembertConfig 配置类: TFCamembertModel (CamemBERT 模型)
- ConvBertConfig 配置类: TFConvBertModel (ConvBERT 模型)
- ConvNextConfig 配置类: TFConvNextModel (ConvNeXT 模型)
- ConvNextV2Config 配置类: TFConvNextV2Model (ConvNeXTV2 模型)
- CvtConfig 配置类: TFCvtModel (CvT 模型)
- DPRConfig 配置类: TFDPRQuestionEncoder (DPR 模型)
- Data2VecVisionConfig 配置类: TFData2VecVisionModel (Data2VecVision 模型)
- DebertaConfig 配置类: TFDebertaModel (DeBERTa 模型)
- DebertaV2Config 配置类: TFDebertaV2Model (DeBERTa-v2 模型)
- DeiTConfig 配置类: TFDeiTModel (DeiT 模型)
- DistilBertConfig 配置类: TFDistilBertModel (DistilBERT 模型)
- EfficientFormerConfig 配置类: TFEfficientFormerModel (EfficientFormer 模型)
- ElectraConfig 配置类: TFElectraModel (ELECTRA 模型)
- EsmConfig 配置类: TFEsmModel (ESM 模型)
- FlaubertConfig 配置类: TFFlaubertModel (FlauBERT 模型)
- FunnelConfig 配置类: TFFunnelModel 或 TFFunnelBaseModel (Funnel Transformer 模型)
- GPT2Config 配置类: TFGPT2Model (OpenAI GPT-2 模型)
- GPTJConfig 配置类: TFGPTJModel (GPT-J 模型)
- GroupViTConfig 配置类: TFGroupViTModel (GroupViT 模型)
- HubertConfig 配置类: TFHubertModel (Hubert 模型)
- LEDConfig 配置类: TFLEDModel (LED 模型)
- LayoutLMConfig 配置类: TFLayoutLMModel (LayoutLM 模型)
- LayoutLMv3Config 配置类: TFLayoutLMv3Model (LayoutLMv3 模型)
- LongformerConfig 配置类: TFLongformerModel (Longformer 模型)
- LxmertConfig 配置类: TFLxmertModel (LXMERT 模型)
- MBartConfig 配置类: TFMBartModel (mBART 模型)
- MPNetConfig 配置类: TFMPNetModel (MPNet 模型)
- MT5Config 配置类: TFMT5Model (MT5 模型)
- MarianConfig 配置类: TFMarianModel (Marian 模型)
- MobileBertConfig 配置类: TFMobileBertModel (MobileBERT 模型)
- MobileViTConfig 配置类: TFMobileViTModel (MobileViT 模型)
- OPTConfig 配置类: TFOPTModel (OPT 模型)
- OpenAIGPTConfig 配置类: TFOpenAIGPTModel (OpenAI GPT 模型)
- PegasusConfig 配置类: TFPegasusModel (Pegasus 模型)
- RegNetConfig 配置类: TFRegNetModel (RegNet 模型)
- RemBertConfig 配置类: TFRemBertModel (RemBERT 模型)
- ResNetConfig 配置类: TFResNetModel (ResNet 模型)
- RoFormerConfig 配置类: TFRoFormerModel (RoFormer 模型)
- RobertaConfig 配置类: TFRobertaModel (RoBERTa 模型)
- RobertaPreLayerNormConfig 配置类: TFRobertaPreLayerNormModel (RoBERTa-PreLayerNorm 模型)
- SamConfig 配置类: TFSamModel (SAM 模型)
- SegformerConfig 配置类: TFSegformerModel (SegFormer 模型)
- Speech2TextConfig 配置类: TFSpeech2TextModel (Speech2Text 模型)
- SwinConfig 配置类: TFSwinModel (Swin Transformer 模型)
- T5Config 配置类: TFT5Model (T5 模型)
- TapasConfig 配置类: TFTapasModel (TAPAS 模型)
- TransfoXLConfig 配置类: TFTransfoXLModel (Transformer-XL 模型)
- ViTConfig 配置类: TFViTModel (ViT 模型)
- ViTMAEConfig 配置类: TFViTMAEModel (ViTMAE 模型)
- VisionTextDualEncoderConfig 配置类:TFVisionTextDualEncoderModel(VisionTextDualEncoder 模型)
- Wav2Vec2Config 配置类:TFWav2Vec2Model(Wav2Vec2 模型)
- WhisperConfig 配置类:TFWhisperModel(Whisper 模型)
- XGLMConfig 配置类:TFXGLMModel(XGLM 模型)
- XLMConfig 配置类:TFXLMModel(XLM 模型)
- XLMRobertaConfig 配置类:TFXLMRobertaModel(XLM-RoBERTa 模型)
- XLNetConfig 配置类:TFXLNetModel(XLNet 模型)
从配置实例化库中的一个基础模型类。
注意:从配置文件加载模型不会加载模型权重。它只会影响模型的配置。使用 from_pretrained()来加载模型权重。
示例:
>>> from transformers import AutoConfig, TFAutoModel >>> # Download configuration from huggingface.co and cache. >>> config = AutoConfig.from_pretrained("bert-base-cased") >>> model = TFAutoModel.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 状态字典保存文件的路径或 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
oros.PathLike
, optional) — 下载的预训练模型配置应缓存在其中的目录路径,如果不使用标准缓存。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
(附加关键字参数,optional) — 可用于更新配置对象(加载后)并初始化模型(例如,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
— TFAlbertModel (ALBERT 模型)bart
— TFBartModel (BART 模型)bert
— TFBertModel (BERT 模型)blenderbot
— TFBlenderbotModel (Blenderbot 模型)blenderbot-small
— TFBlenderbotSmallModel (BlenderbotSmall 模型)blip
— TFBlipModel (BLIP 模型)camembert
— TFCamembertModel (CamemBERT 模型)clip
— TFCLIPModel (CLIP 模型)convbert
— TFConvBertModel (ConvBERT 模型)convnext
— TFConvNextModel (ConvNeXT 模型)convnextv2
— TFConvNextV2Model (ConvNeXTV2 模型)ctrl
— TFCTRLModel (CTRL 模型)cvt
— TFCvtModel (CvT 模型)data2vec-vision
— TFData2VecVisionModel (Data2VecVision 模型)deberta
— TFDebertaModel (DeBERTa 模型)deberta-v2
— TFDebertaV2Model (DeBERTa-v2 模型)deit
— TFDeiTModel (DeiT 模型)distilbert
— TFDistilBertModel (DistilBERT 模型)dpr
— TFDPRQuestionEncoder (DPR 模型)efficientformer
— TFEfficientFormerModel (EfficientFormer 模型)electra
— TFElectraModel (ELECTRA 模型)esm
— TFEsmModel (ESM 模型)flaubert
— TFFlaubertModel (FlauBERT 模型)funnel
— TFFunnelModel 或 TFFunnelBaseModel (Funnel Transformer 模型)gpt-sw3
— TFGPT2Model (GPT-Sw3 模型)gpt2
— TFGPT2Model (OpenAI GPT-2 模型)gptj
— TFGPTJModel (GPT-J 模型)groupvit
— TFGroupViTModel (GroupViT 模型)hubert
— TFHubertModel (Hubert 模型)layoutlm
— TFLayoutLMModel (LayoutLM 模型)layoutlmv3
— TFLayoutLMv3Model (LayoutLMv3 模型)led
— TFLEDModel (LED 模型)longformer
— TFLongformerModel (Longformer 模型)lxmert
— TFLxmertModel (LXMERT 模型)marian
— TFMarianModel (Marian 模型)mbart
— TFMBartModel (mBART 模型)mobilebert
— TFMobileBertModel (MobileBERT 模型)mobilevit
— TFMobileViTModel (MobileViT 模型)mpnet
— TFMPNetModel (MPNet 模型)mt5
— TFMT5Model (MT5 模型)openai-gpt
— TFOpenAIGPTModel (OpenAI GPT 模型)opt
— TFOPTModel (OPT 模型)pegasus
— TFPegasusModel (Pegasus 模型)regnet
— TFRegNetModel (RegNet 模型)rembert
— TFRemBertModel (RemBERT 模型)resnet
— TFResNetModel (ResNet 模型)roberta
— TFRobertaModel (RoBERTa 模型)roberta-prelayernorm
— TFRobertaPreLayerNormModel (RoBERTa-PreLayerNorm 模型)roformer
— TFRoFormerModel (RoFormer 模型)sam
— TFSamModel (SAM 模型)segformer
— TFSegformerModel (SegFormer 模型)speech_to_text
— TFSpeech2TextModel (Speech2Text 模型)swin
— TFSwinModel (Swin Transformer 模型)t5
— TFT5Model (T5 模型)tapas
— TFTapasModel (TAPAS 模型)transfo-xl
— TFTransfoXLModel (Transformer-XL 模型)vision-text-dual-encoder
— TFVisionTextDualEncoderModel (VisionTextDualEncoder 模型)vit
— TFViTModel (ViT 模型)vit_mae
— TFViTMAEModel (ViTMAE 模型)wav2vec2
— TFWav2Vec2Model (Wav2Vec2 模型)whisper
— TFWhisperModel (Whisper 模型)xglm
— TFXGLMModel (XGLM 模型)xlm
— TFXLMModel (XLM 模型)xlm-roberta
— TFXLMRobertaModel (XLM-RoBERTa 模型)xlnet
— TFXLNetModel (XLNet 模型)
示例:
>>> from transformers import AutoConfig, TFAutoModel >>> # Download model and configuration from huggingface.co and cache. >>> model = TFAutoModel.from_pretrained("bert-base-cased") >>> # Update configuration during loading >>> model = TFAutoModel.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 = TFAutoModel.from_pretrained( ... "./pt_model/bert_pytorch_model.bin", from_pt=True, config=config ... )
FlaxAutoModel
class transformers.FlaxAutoModel
( *args **kwargs )
这是一个通用的模型类,当使用 from_pretrained() 类方法或 from_config() 类方法创建时,将被实例化为库的基础模型类之一。
这个类不能直接使用 __init__()
实例化(会抛出错误)。
from_config
( **kwargs )
参数
config
(PretrainedConfig) — 根据配置类选择要实例化的模型类:
- AlbertConfig 配置类:FlaxAlbertModel(ALBERT 模型)
- BartConfig 配置类:FlaxBartModel(BART 模型)
- BeitConfig 配置类:FlaxBeitModel(BEiT 模型)
- BertConfig 配置类:FlaxBertModel(BERT 模型)
- BigBirdConfig 配置类:FlaxBigBirdModel(BigBird 模型)
- BlenderbotConfig 配置类:FlaxBlenderbotModel(Blenderbot 模型)
- BlenderbotSmallConfig 配置类:FlaxBlenderbotSmallModel(BlenderbotSmall 模型)
- BloomConfig 配置类:FlaxBloomModel(BLOOM 模型)
- CLIPConfig 配置类:FlaxCLIPModel(CLIP 模型)
- DistilBertConfig 配置类:FlaxDistilBertModel(DistilBERT 模型)
- ElectraConfig 配置类:FlaxElectraModel(ELECTRA 模型)
- GPT2Config 配置类:FlaxGPT2Model(OpenAI GPT-2 模型)
- GPTJConfig 配置类:FlaxGPTJModel(GPT-J 模型)
- GPTNeoConfig 配置类: FlaxGPTNeoModel (GPT Neo 模型)
- LlamaConfig 配置类: FlaxLlamaModel (LLaMA 模型)
- LongT5Config 配置类: FlaxLongT5Model (LongT5 模型)
- MBartConfig 配置类: FlaxMBartModel (mBART 模型)
- MT5Config 配置类: FlaxMT5Model (MT5 模型)
- MarianConfig 配置类: FlaxMarianModel (Marian 模型)
- OPTConfig 配置类: FlaxOPTModel (OPT 模型)
- PegasusConfig 配置类: FlaxPegasusModel (Pegasus 模型)
- RegNetConfig 配置类: FlaxRegNetModel (RegNet 模型)
- ResNetConfig 配置类: FlaxResNetModel (ResNet 模型)
- RoFormerConfig 配置类: FlaxRoFormerModel (RoFormer 模型)
- RobertaConfig 配置类: FlaxRobertaModel (RoBERTa 模型)
- RobertaPreLayerNormConfig 配置类: FlaxRobertaPreLayerNormModel (RoBERTa-PreLayerNorm 模型)
- T5Config 配置类: FlaxT5Model (T5 模型)
- ViTConfig 配置类: FlaxViTModel (ViT 模型)
- VisionTextDualEncoderConfig 配置类: FlaxVisionTextDualEncoderModel (VisionTextDualEncoder 模型)
- Wav2Vec2Config 配置类: FlaxWav2Vec2Model (Wav2Vec2 模型)
- WhisperConfig 配置类: FlaxWhisperModel (Whisper 模型)
- XGLMConfig 配置类: FlaxXGLMModel (XGLM 模型)
- XLMRobertaConfig 配置类: FlaxXLMRobertaModel (XLM-RoBERTa 模型)
从配置中实例化库中的基础模型类之一。
注意:从配置文件加载模型不会加载模型权重。它只影响模型的配置。使用 from_pretrained() 来加载模型权重。
示例:
>>> from transformers import AutoConfig, FlaxAutoModel >>> # Download configuration from huggingface.co and cache. >>> config = AutoConfig.from_pretrained("bert-base-cased") >>> model = FlaxAutoModel.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 save file 的路径或 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 checkpoint save 文件加载模型权重(参见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
— FlaxAlbertModel (ALBERT 模型)bart
— FlaxBartModel (BART 模型)beit
— FlaxBeitModel (BEiT 模型)bert
— FlaxBertModel (BERT 模型)big_bird
— FlaxBigBirdModel (BigBird 模型)blenderbot
— FlaxBlenderbotModel (Blenderbot 模型)blenderbot-small
— FlaxBlenderbotSmallModel (BlenderbotSmall 模型)bloom
— FlaxBloomModel (BLOOM 模型)clip
— FlaxCLIPModel (CLIP 模型)distilbert
— FlaxDistilBertModel (DistilBERT 模型)electra
— FlaxElectraModel(ELECTRA 模型)gpt-sw3
— FlaxGPT2Model(GPT-Sw3 模型)gpt2
— FlaxGPT2Model(OpenAI GPT-2 模型)gpt_neo
— FlaxGPTNeoModel(GPT Neo 模型)gptj
— FlaxGPTJModel(GPT-J 模型)llama
— FlaxLlamaModel(LLaMA 模型)longt5
— FlaxLongT5Model(LongT5 模型)marian
— FlaxMarianModel(Marian 模型)mbart
— FlaxMBartModel(mBART 模型)mt5
— FlaxMT5Model(MT5 模型)opt
— FlaxOPTModel(OPT 模型)pegasus
— FlaxPegasusModel(Pegasus 模型)regnet
— FlaxRegNetModel(RegNet 模型)resnet
— FlaxResNetModel(ResNet 模型)roberta
— FlaxRobertaModel(RoBERTa 模型)roberta-prelayernorm
— FlaxRobertaPreLayerNormModel(RoBERTa-PreLayerNorm 模型)roformer
— FlaxRoFormerModel(RoFormer 模型)t5
— FlaxT5Model(T5 模型)vision-text-dual-encoder
— FlaxVisionTextDualEncoderModel(VisionTextDualEncoder 模型)vit
— FlaxViTModel(ViT 模型)wav2vec2
— FlaxWav2Vec2Model(Wav2Vec2 模型)whisper
— FlaxWhisperModel(Whisper 模型)xglm
— FlaxXGLMModel(XGLM 模型)xlm-roberta
— FlaxXLMRobertaModel(XLM-RoBERTa 模型)
示例:
>>> from transformers import AutoConfig, FlaxAutoModel >>> # Download model and configuration from huggingface.co and cache. >>> model = FlaxAutoModel.from_pretrained("bert-base-cased") >>> # Update configuration during loading >>> model = FlaxAutoModel.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 = FlaxAutoModel.from_pretrained( ... "./pt_model/bert_pytorch_model.bin", from_pt=True, config=config ... )
通用预训练类
以下自动类可用于实例化带有预训练头部的模型。
AutoModelForPreTraining
class transformers.AutoModelForPreTraining
( *args **kwargs )
这是一个通用的模型类,当使用 class method 或 class method 创建时,将作为库的模型类之一实例化(带有预训练头部)。
这个类不能直接使用__init__()
实例化(会抛出错误)。
from_config
( **kwargs )
参数
config
(PretrainedConfig) — 根据配置类选择要实例化的模型类:
- AlbertConfig 配置类: AlbertForPreTraining (ALBERT 模型)
- BartConfig 配置类: BartForConditionalGeneration (BART 模型)
- BertConfig 配置类: BertForPreTraining (BERT 模型)
- BigBirdConfig 配置类: BigBirdForPreTraining (BigBird 模型)
- BloomConfig 配置类: BloomForCausalLM (BLOOM 模型)
- CTRLConfig 配置类: CTRLLMHeadModel (CTRL 模型)
- CamembertConfig 配置类: CamembertForMaskedLM (CamemBERT 模型)
- Data2VecTextConfig 配置类: Data2VecTextForMaskedLM (Data2VecText 模型)
- DebertaConfig 配置类: DebertaForMaskedLM (DeBERTa 模型)
- DebertaV2Config 配置类: DebertaV2ForMaskedLM (DeBERTa-v2 模型)
- DistilBertConfig 配置类: DistilBertForMaskedLM (DistilBERT 模型)
- ElectraConfig 配置类: ElectraForPreTraining (ELECTRA 模型)
- ErnieConfig 配置类: ErnieForPreTraining (ERNIE 模型)
- FNetConfig 配置类: FNetForPreTraining (FNet 模型)
- FSMTConfig 配置类: FSMTForConditionalGeneration (FairSeq 机器翻译模型)
- FlaubertConfig 配置类: FlaubertWithLMHeadModel (FlauBERT 模型)
- FlavaConfig 配置类: FlavaForPreTraining (FLAVA 模型)
- FunnelConfig 配置类: FunnelForPreTraining (Funnel Transformer 模型)
- GPT2Config 配置类: GPT2LMHeadModel (OpenAI GPT-2 模型)
- GPTBigCodeConfig 配置类: GPTBigCodeForCausalLM (GPTBigCode 模型)
- GPTSanJapaneseConfig 配置类: GPTSanJapaneseForConditionalGeneration (GPTSAN-japanese 模型)
- IBertConfig 配置类: IBertForMaskedLM (I-BERT 模型)
- IdeficsConfig 配置类: IdeficsForVisionText2Text (IDEFICS 模型)
- LayoutLMConfig 配置类: LayoutLMForMaskedLM (LayoutLM 模型)
- LlavaConfig 配置类: LlavaForConditionalGeneration (LLaVa 模型)
- LongformerConfig 配置类: LongformerForMaskedLM (Longformer 模型)
- LukeConfig 配置类: LukeForMaskedLM (LUKE 模型)
- LxmertConfig 配置类: LxmertForPreTraining (LXMERT 模型)
- MPNetConfig 配置类: MPNetForMaskedLM (MPNet 模型)
- MegaConfig 配置类: MegaForMaskedLM (MEGA 模型)
- MegatronBertConfig 配置类: MegatronBertForPreTraining (Megatron-BERT 模型)
- MobileBertConfig 配置类: MobileBertForPreTraining (MobileBERT 模型)
- MptConfig 配置类: MptForCausalLM (MPT 模型)
- MraConfig 配置类: MraForMaskedLM (MRA 模型)
- MvpConfig 配置类: MvpForConditionalGeneration (MVP 模型)
- NezhaConfig 配置类: NezhaForPreTraining (Nezha 模型)
- NllbMoeConfig 配置类: NllbMoeForConditionalGeneration (NLLB-MOE 模型)
- OpenAIGPTConfig 配置类: OpenAIGPTLMHeadModel (OpenAI GPT 模型)
- RetriBertConfig 配置类: RetriBertModel (RetriBERT 模型)
- RoCBertConfig 配置类: RoCBertForPreTraining (RoCBert 模型)
- RobertaConfig 配置类: RobertaForMaskedLM (RoBERTa 模型)
- RobertaPreLayerNormConfig 配置类: RobertaPreLayerNormForMaskedLM (RoBERTa-PreLayerNorm 模型)
- RwkvConfig 配置类: RwkvForCausalLM (RWKV 模型)
- SplinterConfig 配置类: SplinterForPreTraining (Splinter 模型)
- SqueezeBertConfig 配置类: SqueezeBertForMaskedLM (SqueezeBERT 模型)
- SwitchTransformersConfig 配置类: SwitchTransformersForConditionalGeneration (SwitchTransformers 模型)
- T5Config 配置类: T5ForConditionalGeneration (T5 模型)
- TapasConfig 配置类: TapasForMaskedLM (TAPAS 模型)
- TransfoXLConfig 配置类: TransfoXLLMHeadModel (Transformer-XL 模型)
- TvltConfig 配置类: TvltForPreTraining (TVLT 模型)
- UniSpeechConfig 配置类: UniSpeechForPreTraining (UniSpeech 模型)
- UniSpeechSatConfig 配置类: UniSpeechSatForPreTraining (UniSpeechSat 模型)
- ViTMAEConfig 配置类: ViTMAEForPreTraining (ViTMAE 模型)
- VideoMAEConfig 配置类: VideoMAEForPreTraining (VideoMAE 模型)
- VipLlavaConfig 配置类: VipLlavaForConditionalGeneration (VipLlava 模型)
- VisualBertConfig 配置类: VisualBertForPreTraining (VisualBERT 模型)
- Wav2Vec2Config 配置类: Wav2Vec2ForPreTraining (Wav2Vec2 模型)
- Wav2Vec2ConformerConfig 配置类: Wav2Vec2ConformerForPreTraining (Wav2Vec2-Conformer 模型)
- XLMConfig 配置类: XLMWithLMHeadModel (XLM 模型)
- XLMRobertaConfig 配置类: XLMRobertaForMaskedLM (XLM-RoBERTa 模型)
- XLMRobertaXLConfig 配置类: XLMRobertaXLForMaskedLM (XLM-RoBERTa-XL 模型)
- XLNetConfig 配置类: XLNetLMHeadModel (XLNet 模型)
- XmodConfig 配置类: XmodForMaskedLM (X-MOD 模型)
从配置实例化库中的一个模型类(带有预训练头)。
注意:从配置文件加载模型不会加载模型权重。它只影响模型的配置。使用 from_pretrained()加载模型权重。
示例:
>>> from transformers import AutoConfig, AutoModelForPreTraining >>> # Download configuration from huggingface.co and cache. >>> config = AutoConfig.from_pretrained("bert-base-cased") >>> model = AutoModelForPreTraining.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/
。 - 一个TensorFlow 索引检查点文件的路径或 url(例如,
./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
, optional, 默认为"main"
) — 要使用的特定模型版本。它可以是分支名称、标签名称或提交 ID,因为我们在 huggingface.co 上使用基于 git 的系统来存储模型和其他工件,所以revision
可以是 git 允许的任何标识符。trust_remote_code
(bool
, 可选, 默认为False
) — 是否允许在 Hub 上定义自定义模型的建模文件。此选项应仅对您信任的存储库设置为True
,并且您已经阅读了代码,因为它将在本地机器上执行 Hub 上存在的代码。code_revision
(str
, optional, 默认为"main"
) — 用于 Hub 上代码的特定修订版本,如果代码存储在与模型其余部分不同的存储库中。它可以是分支名称、标签名称或提交 ID,因为我们在 huggingface.co 上使用基于 git 的系统来存储模型和其他工件,所以revision
可以是 git 允许的任何标识符。kwargs
(额外的关键字参数,可选) — 可用于更新配置对象(加载后)并初始化模型(例如,output_attentions=True
)。根据是否提供了config
或自动加载了config
,行为会有所不同:
- 如果提供了带有
config
的配置,**kwargs
将直接传递给底层模型的__init__
方法(我们假设配置的所有相关更新已经完成) - 如果未提供配置,
kwargs
将首先传递给配置类初始化函数(from_pretrained())。kwargs
的每个与配置属性对应的键将用提供的kwargs
值覆盖该属性。不对应任何配置属性的剩余键将传递给底层模型的__init__
函数。
从预训练模型实例化库中的一个模型类(带有预训练头)。
要实例化的模型类是根据配置对象的 model_type
属性选择的(作为参数传递或从 pretrained_model_name_or_path
加载,如果可能的话),或者当缺少时,通过在 pretrained_model_name_or_path
上使用模式匹配来回退:
albert
— AlbertForPreTraining (ALBERT 模型)bart
— BartForConditionalGeneration (BART 模型)bert
— BertForPreTraining (BERT 模型)big_bird
— BigBirdForPreTraining (BigBird 模型)bloom
— BloomForCausalLM (BLOOM 模型)camembert
— CamembertForMaskedLM (CamemBERT 模型)ctrl
— CTRLLMHeadModel (CTRL 模型)data2vec-text
— Data2VecTextForMaskedLM (Data2VecText 模型)deberta
— DebertaForMaskedLM (DeBERTa 模型)deberta-v2
— DebertaV2ForMaskedLM (DeBERTa-v2 模型)distilbert
— DistilBertForMaskedLM (DistilBERT 模型)electra
— ElectraForPreTraining (ELECTRA 模型)ernie
— ErnieForPreTraining (ERNIE 模型)flaubert
— FlaubertWithLMHeadModel (FlauBERT 模型)flava
— FlavaForPreTraining (FLAVA 模型)fnet
— FNetForPreTraining (FNet 模型)fsmt
— FSMTForConditionalGeneration (FairSeq 机器翻译模型)funnel
— FunnelForPreTraining (Funnel Transformer 模型)gpt-sw3
— GPT2LMHeadModel (GPT-Sw3 模型)gpt2
— GPT2LMHeadModel (OpenAI GPT-2 模型)gpt_bigcode
— GPTBigCodeForCausalLM (GPTBigCode 模型)gptsan-japanese
— GPTSanJapaneseForConditionalGeneration (GPTSAN-japanese 模型)ibert
— IBertForMaskedLM (I-BERT 模型)idefics
— IdeficsForVisionText2Text (IDEFICS 模型)layoutlm
— LayoutLMForMaskedLM (LayoutLM 模型)llava
— LlavaForConditionalGeneration (LLaVa 模型)longformer
— LongformerForMaskedLM (Longformer 模型)luke
— LukeForMaskedLM (LUKE 模型)lxmert
— LxmertForPreTraining (LXMERT 模型)mega
— MegaForMaskedLM (MEGA 模型)megatron-bert
— MegatronBertForPreTraining (Megatron-BERT 模型)mobilebert
— MobileBertForPreTraining (MobileBERT 模型)mpnet
— MPNetForMaskedLM (MPNet 模型)mpt
— MptForCausalLM (MPT 模型)mra
— MraForMaskedLM (MRA 模型)mvp
— MvpForConditionalGeneration (MVP 模型)nezha
— NezhaForPreTraining (Nezha 模型)nllb-moe
— NllbMoeForConditionalGeneration (NLLB-MOE 模型)openai-gpt
— OpenAIGPTLMHeadModel (OpenAI GPT 模型)retribert
— RetriBertModel (RetriBERT 模型)roberta
— RobertaForMaskedLM (RoBERTa 模型)roberta-prelayernorm
— RobertaPreLayerNormForMaskedLM (RoBERTa-PreLayerNorm 模型)roc_bert
— RoCBertForPreTraining (RoCBert 模型)rwkv
— RwkvForCausalLM (RWKV 模型)splinter
— SplinterForPreTraining (Splinter 模型)squeezebert
— SqueezeBertForMaskedLM (SqueezeBERT 模型)switch_transformers
— SwitchTransformersForConditionalGeneration (SwitchTransformers 模型)t5
— T5ForConditionalGeneration (T5 模型)tapas
— TapasForMaskedLM (TAPAS 模型)transfo-xl
— TransfoXLLMHeadModel (Transformer-XL 模型)tvlt
— TvltForPreTraining (TVLT 模型)unispeech
— UniSpeechForPreTraining (UniSpeech 模型)unispeech-sat
— UniSpeechSatForPreTraining (UniSpeechSat 模型)videomae
— VideoMAEForPreTraining (VideoMAE 模型)vipllava
— VipLlavaForConditionalGeneration (VipLlava 模型)visual_bert
— VisualBertForPreTraining (VisualBERT 模型)vit_mae
— ViTMAEForPreTraining (ViTMAE 模型)wav2vec2
— Wav2Vec2ForPreTraining (Wav2Vec2 模型)wav2vec2-conformer
— Wav2Vec2ConformerForPreTraining (Wav2Vec2-Conformer 模型)xlm
— XLMWithLMHeadModel (XLM 模型)xlm-roberta
— XLMRobertaForMaskedLM (XLM-RoBERTa 模型)xlm-roberta-xl
— XLMRobertaXLForMaskedLM (XLM-RoBERTa-XL 模型)xlnet
— XLNetLMHeadModel (XLNet 模型)xmod
— XmodForMaskedLM (X-MOD 模型)
默认情况下,模型处于评估模式,使用 model.eval()
(例如,dropout 模块被停用)。要训练模型,您应该首先使用 model.train()
将其设置回训练模式
示例:
>>> from transformers import AutoConfig, AutoModelForPreTraining >>> # Download model and configuration from huggingface.co and cache. >>> model = AutoModelForPreTraining.from_pretrained("bert-base-cased") >>> # Update configuration during loading >>> model = AutoModelForPreTraining.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 = AutoModelForPreTraining.from_pretrained( ... "./tf_model/bert_tf_checkpoint.ckpt.index", from_tf=True, config=config ... )
Transformers 4.37 中文文档(十三)(6)https://developer.aliyun.com/article/1564951