Spaces:
Runtime error
Runtime error
| <!--Copyright 2020 The HuggingFace Team. All rights reserved. | |
| Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with | |
| the License. You may obtain a copy of the License at | |
| http://www.apache.org/licenses/LICENSE-2.0 | |
| Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on | |
| an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the | |
| specific language governing permissions and limitations under the License. | |
| --> | |
| # Model outputs | |
| All models have outputs that are instances of subclasses of [`~utils.ModelOutput`]. Those are | |
| data structures containing all the information returned by the model, but that can also be used as tuples or | |
| dictionaries. | |
| Let's see how this looks in an example: | |
| ```python | |
| from transformers import BertTokenizer, BertForSequenceClassification | |
| import torch | |
| tokenizer = BertTokenizer.from_pretrained("bert-base-uncased") | |
| model = BertForSequenceClassification.from_pretrained("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) | |
| ``` | |
| The `outputs` object is a [`~modeling_outputs.SequenceClassifierOutput`], as we can see in the | |
| documentation of that class below, it means it has an optional `loss`, a `logits` an optional `hidden_states` and | |
| an optional `attentions` attribute. Here we have the `loss` since we passed along `labels`, but we don't have | |
| `hidden_states` and `attentions` because we didn't pass `output_hidden_states=True` or | |
| `output_attentions=True`. | |
| You can access each attribute as you would usually do, and if that attribute has not been returned by the model, you | |
| will get `None`. Here for instance `outputs.loss` is the loss computed by the model, and `outputs.attentions` is | |
| `None`. | |
| When considering our `outputs` object as tuple, it only considers the attributes that don't have `None` values. | |
| Here for instance, it has two elements, `loss` then `logits`, so | |
| ```python | |
| outputs[:2] | |
| ``` | |
| will return the tuple `(outputs.loss, outputs.logits)` for instance. | |
| When considering our `outputs` object as dictionary, it only considers the attributes that don't have `None` | |
| values. Here for instance, it has two keys that are `loss` and `logits`. | |
| We document here the generic model outputs that are used by more than one model type. Specific output types are | |
| documented on their corresponding model page. | |
| ## 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 | |