DrDavis's picture
Upload folder using huggingface_hub
17c6d62 verified

模型输出

所有模型的输出都是 [~utils.ModelOutput] 的子类的实例。这些是包含模型返回的所有信息的数据结构,但也可以用作元组或字典。

让我们看一个例子:

from transformers import BertTokenizer, BertForSequenceClassification
import torch

tokenizer = BertTokenizer.from_pretrained("google-bert/bert-base-uncased")
model = BertForSequenceClassification.from_pretrained("google-bert/bert-base-uncased")

inputs = tokenizer("Hello, my dog is cute", return_tensors="pt")
labels = torch.tensor([1]).unsqueeze(0)  # Batch size 1
outputs = model(**inputs, labels=labels)

outputs 对象是 [~modeling_outputs.SequenceClassifierOutput],如下面该类的文档中所示,它表示它有一个可选的 loss,一个 logits,一个可选的 hidden_states 和一个可选的 attentions 属性。在这里,我们有 loss,因为我们传递了 labels,但我们没有 hidden_statesattentions,因为我们没有传递 output_hidden_states=Trueoutput_attentions=True

当传递 output_hidden_states=True 时,您可能希望 outputs.hidden_states[-1]outputs.last_hidden_states 完全匹配。然而,这并不总是成立。一些模型在返回最后的 hidden state时对其应用归一化或其他后续处理。

您可以像往常一样访问每个属性,如果模型未返回该属性,您将得到 None。在这里,例如,outputs.loss 是模型计算的损失,而 outputs.attentionsNone

当将我们的 outputs 对象视为元组时,它仅考虑那些没有 None 值的属性。例如这里它有两个元素,losslogits,所以

outputs[:2]

将返回元组 (outputs.loss, outputs.logits)

将我们的 outputs 对象视为字典时,它仅考虑那些没有 None 值的属性。例如在这里它有两个键,分别是 losslogits

我们在这里记录了被多个类型模型使用的通用模型输出。特定输出类型在其相应的模型页面上有文档。

ModelOutput

[[autodoc]] utils.ModelOutput - to_tuple

BaseModelOutput

[[autodoc]] modeling_outputs.BaseModelOutput

BaseModelOutputWithPooling

[[autodoc]] modeling_outputs.BaseModelOutputWithPooling

BaseModelOutputWithCrossAttentions

[[autodoc]] modeling_outputs.BaseModelOutputWithCrossAttentions

BaseModelOutputWithPoolingAndCrossAttentions

[[autodoc]] modeling_outputs.BaseModelOutputWithPoolingAndCrossAttentions

BaseModelOutputWithPast

[[autodoc]] modeling_outputs.BaseModelOutputWithPast

BaseModelOutputWithPastAndCrossAttentions

[[autodoc]] modeling_outputs.BaseModelOutputWithPastAndCrossAttentions

Seq2SeqModelOutput

[[autodoc]] modeling_outputs.Seq2SeqModelOutput

CausalLMOutput

[[autodoc]] modeling_outputs.CausalLMOutput

CausalLMOutputWithCrossAttentions

[[autodoc]] modeling_outputs.CausalLMOutputWithCrossAttentions

CausalLMOutputWithPast

[[autodoc]] modeling_outputs.CausalLMOutputWithPast

MaskedLMOutput

[[autodoc]] modeling_outputs.MaskedLMOutput

Seq2SeqLMOutput

[[autodoc]] modeling_outputs.Seq2SeqLMOutput

NextSentencePredictorOutput

[[autodoc]] modeling_outputs.NextSentencePredictorOutput

SequenceClassifierOutput

[[autodoc]] modeling_outputs.SequenceClassifierOutput

Seq2SeqSequenceClassifierOutput

[[autodoc]] modeling_outputs.Seq2SeqSequenceClassifierOutput

MultipleChoiceModelOutput

[[autodoc]] modeling_outputs.MultipleChoiceModelOutput

TokenClassifierOutput

[[autodoc]] modeling_outputs.TokenClassifierOutput

QuestionAnsweringModelOutput

[[autodoc]] modeling_outputs.QuestionAnsweringModelOutput

Seq2SeqQuestionAnsweringModelOutput

[[autodoc]] modeling_outputs.Seq2SeqQuestionAnsweringModelOutput

Seq2SeqSpectrogramOutput

[[autodoc]] modeling_outputs.Seq2SeqSpectrogramOutput

SemanticSegmenterOutput

[[autodoc]] modeling_outputs.SemanticSegmenterOutput

ImageClassifierOutput

[[autodoc]] modeling_outputs.ImageClassifierOutput

ImageClassifierOutputWithNoAttention

[[autodoc]] modeling_outputs.ImageClassifierOutputWithNoAttention

DepthEstimatorOutput

[[autodoc]] modeling_outputs.DepthEstimatorOutput

Wav2Vec2BaseModelOutput

[[autodoc]] modeling_outputs.Wav2Vec2BaseModelOutput

XVectorOutput

[[autodoc]] modeling_outputs.XVectorOutput

Seq2SeqTSModelOutput

[[autodoc]] modeling_outputs.Seq2SeqTSModelOutput

Seq2SeqTSPredictionOutput

[[autodoc]] modeling_outputs.Seq2SeqTSPredictionOutput

SampleTSPredictionOutput

[[autodoc]] modeling_outputs.SampleTSPredictionOutput

TFBaseModelOutput

[[autodoc]] modeling_tf_outputs.TFBaseModelOutput

TFBaseModelOutputWithPooling

[[autodoc]] modeling_tf_outputs.TFBaseModelOutputWithPooling

TFBaseModelOutputWithPoolingAndCrossAttentions

[[autodoc]] modeling_tf_outputs.TFBaseModelOutputWithPoolingAndCrossAttentions

TFBaseModelOutputWithPast

[[autodoc]] modeling_tf_outputs.TFBaseModelOutputWithPast

TFBaseModelOutputWithPastAndCrossAttentions

[[autodoc]] modeling_tf_outputs.TFBaseModelOutputWithPastAndCrossAttentions

TFSeq2SeqModelOutput

[[autodoc]] modeling_tf_outputs.TFSeq2SeqModelOutput

TFCausalLMOutput

[[autodoc]] modeling_tf_outputs.TFCausalLMOutput

TFCausalLMOutputWithCrossAttentions

[[autodoc]] modeling_tf_outputs.TFCausalLMOutputWithCrossAttentions

TFCausalLMOutputWithPast

[[autodoc]] modeling_tf_outputs.TFCausalLMOutputWithPast

TFMaskedLMOutput

[[autodoc]] modeling_tf_outputs.TFMaskedLMOutput

TFSeq2SeqLMOutput

[[autodoc]] modeling_tf_outputs.TFSeq2SeqLMOutput

TFNextSentencePredictorOutput

[[autodoc]] modeling_tf_outputs.TFNextSentencePredictorOutput

TFSequenceClassifierOutput

[[autodoc]] modeling_tf_outputs.TFSequenceClassifierOutput

TFSeq2SeqSequenceClassifierOutput

[[autodoc]] modeling_tf_outputs.TFSeq2SeqSequenceClassifierOutput

TFMultipleChoiceModelOutput

[[autodoc]] modeling_tf_outputs.TFMultipleChoiceModelOutput

TFTokenClassifierOutput

[[autodoc]] modeling_tf_outputs.TFTokenClassifierOutput

TFQuestionAnsweringModelOutput

[[autodoc]] modeling_tf_outputs.TFQuestionAnsweringModelOutput

TFSeq2SeqQuestionAnsweringModelOutput

[[autodoc]] modeling_tf_outputs.TFSeq2SeqQuestionAnsweringModelOutput

FlaxBaseModelOutput

[[autodoc]] modeling_flax_outputs.FlaxBaseModelOutput

FlaxBaseModelOutputWithPast

[[autodoc]] modeling_flax_outputs.FlaxBaseModelOutputWithPast

FlaxBaseModelOutputWithPooling

[[autodoc]] modeling_flax_outputs.FlaxBaseModelOutputWithPooling

FlaxBaseModelOutputWithPastAndCrossAttentions

[[autodoc]] modeling_flax_outputs.FlaxBaseModelOutputWithPastAndCrossAttentions

FlaxSeq2SeqModelOutput

[[autodoc]] modeling_flax_outputs.FlaxSeq2SeqModelOutput

FlaxCausalLMOutputWithCrossAttentions

[[autodoc]] modeling_flax_outputs.FlaxCausalLMOutputWithCrossAttentions

FlaxMaskedLMOutput

[[autodoc]] modeling_flax_outputs.FlaxMaskedLMOutput

FlaxSeq2SeqLMOutput

[[autodoc]] modeling_flax_outputs.FlaxSeq2SeqLMOutput

FlaxNextSentencePredictorOutput

[[autodoc]] modeling_flax_outputs.FlaxNextSentencePredictorOutput

FlaxSequenceClassifierOutput

[[autodoc]] modeling_flax_outputs.FlaxSequenceClassifierOutput

FlaxSeq2SeqSequenceClassifierOutput

[[autodoc]] modeling_flax_outputs.FlaxSeq2SeqSequenceClassifierOutput

FlaxMultipleChoiceModelOutput

[[autodoc]] modeling_flax_outputs.FlaxMultipleChoiceModelOutput

FlaxTokenClassifierOutput

[[autodoc]] modeling_flax_outputs.FlaxTokenClassifierOutput

FlaxQuestionAnsweringModelOutput

[[autodoc]] modeling_flax_outputs.FlaxQuestionAnsweringModelOutput

FlaxSeq2SeqQuestionAnsweringModelOutput

[[autodoc]] modeling_flax_outputs.FlaxSeq2SeqQuestionAnsweringModelOutput