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(stroros.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