8.4 KiB
模型输出
所有模型的输出都是 [~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_states
和 attentions
,因为我们没有传递 output_hidden_states=True
或 output_attentions=True
。
当传递 output_hidden_states=True
时,您可能希望 outputs.hidden_states[-1]
与 outputs.last_hidden_states
完全匹配。然而,这并不总是成立。一些模型在返回最后的 hidden state时对其应用归一化或其他后续处理。
您可以像往常一样访问每个属性,如果模型未返回该属性,您将得到 None
。在这里,例如,outputs.loss
是模型计算的损失,而 outputs.attentions
是 None
。
当将我们的 outputs
对象视为元组时,它仅考虑那些没有 None
值的属性。例如这里它有两个元素,loss
和 logits
,所以
outputs[:2]
将返回元组 (outputs.loss, outputs.logits)
。
将我们的 outputs
对象视为字典时,它仅考虑那些没有 None
值的属性。例如在这里它有两个键,分别是 loss
和 logits
。
我们在这里记录了被多个类型模型使用的通用模型输出。特定输出类型在其相应的模型页面上有文档。
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