Document model outputs (#5673)
* Document model outputs * Update docs/source/main_classes/output.rst Co-authored-by: Lysandre Debut <lysandre@huggingface.co> Co-authored-by: Lysandre Debut <lysandre@huggingface.co>
This commit is contained in:
@@ -173,6 +173,7 @@ conversion utilities for the following models:
|
|||||||
:caption: Package Reference
|
:caption: Package Reference
|
||||||
|
|
||||||
main_classes/configuration
|
main_classes/configuration
|
||||||
|
main_classes/output
|
||||||
main_classes/model
|
main_classes/model
|
||||||
main_classes/tokenizer
|
main_classes/tokenizer
|
||||||
main_classes/pipelines
|
main_classes/pipelines
|
||||||
|
|||||||
141
docs/source/main_classes/output.rst
Normal file
141
docs/source/main_classes/output.rst
Normal file
@@ -0,0 +1,141 @@
|
|||||||
|
Model outputs
|
||||||
|
-------------
|
||||||
|
|
||||||
|
PyTorch models have outputs that are instances of subclasses of :class:`~transformers.file_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 of this looks on an example:
|
||||||
|
|
||||||
|
.. code-block::
|
||||||
|
|
||||||
|
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 :class:`~transformers.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
|
||||||
|
|
||||||
|
.. code-block::
|
||||||
|
|
||||||
|
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``
|
||||||
|
~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. autoclass:: transformers.file_utils.ModelOutput
|
||||||
|
:members:
|
||||||
|
|
||||||
|
``BaseModelOutput``
|
||||||
|
~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. autoclass:: transformers.modeling_outputs.BaseModelOutput
|
||||||
|
:members:
|
||||||
|
|
||||||
|
``BaseModelOutputWithPooling``
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. autoclass:: transformers.modeling_outputs.BaseModelOutputWithPooling
|
||||||
|
:members:
|
||||||
|
|
||||||
|
``BaseModelOutputWithPast``
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. autoclass:: transformers.modeling_outputs.BaseModelOutputWithPast
|
||||||
|
:members:
|
||||||
|
|
||||||
|
``Seq2SeqModelOutput``
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. autoclass:: transformers.modeling_outputs.Seq2SeqModelOutput
|
||||||
|
:members:
|
||||||
|
|
||||||
|
``CausalLMOutput``
|
||||||
|
~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. autoclass:: transformers.modeling_outputs.CausalLMOutput
|
||||||
|
:members:
|
||||||
|
|
||||||
|
``CausalLMOutputWithPast``
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. autoclass:: transformers.modeling_outputs.CausalLMOutputWithPast
|
||||||
|
:members:
|
||||||
|
|
||||||
|
``MaskedLMOutput``
|
||||||
|
~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. autoclass:: transformers.modeling_outputs.MaskedLMOutput
|
||||||
|
:members:
|
||||||
|
|
||||||
|
``Seq2SeqLMOutput``
|
||||||
|
~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. autoclass:: transformers.modeling_outputs.Seq2SeqLMOutput
|
||||||
|
:members:
|
||||||
|
|
||||||
|
``NextSentencePredictorOutput``
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. autoclass:: transformers.modeling_outputs.NextSentencePredictorOutput
|
||||||
|
:members:
|
||||||
|
|
||||||
|
``SequenceClassifierOutput``
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. autoclass:: transformers.modeling_outputs.SequenceClassifierOutput
|
||||||
|
:members:
|
||||||
|
|
||||||
|
``Seq2SeqSequenceClassifierOutput``
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. autoclass:: transformers.modeling_outputs.Seq2SeqSequenceClassifierOutput
|
||||||
|
:members:
|
||||||
|
|
||||||
|
``MultipleChoiceModelOutput``
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. autoclass:: transformers.modeling_outputs.MultipleChoiceModelOutput
|
||||||
|
:members:
|
||||||
|
|
||||||
|
``TokenClassifierOutput``
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. autoclass:: transformers.modeling_outputs.TokenClassifierOutput
|
||||||
|
:members:
|
||||||
|
|
||||||
|
``QuestionAnsweringModelOutput``
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. autoclass:: transformers.modeling_outputs.QuestionAnsweringModelOutput
|
||||||
|
:members:
|
||||||
|
|
||||||
|
``Seq2SeqQuestionAnsweringModelOutput``
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. autoclass:: transformers.modeling_outputs.Seq2SeqQuestionAnsweringModelOutput
|
||||||
|
:members:
|
||||||
@@ -47,6 +47,13 @@ AlbertTokenizer
|
|||||||
create_token_type_ids_from_sequences, save_vocabulary
|
create_token_type_ids_from_sequences, save_vocabulary
|
||||||
|
|
||||||
|
|
||||||
|
Albert specific outputs
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. autoclass:: transformers.modeling_albert.AlbertForPretrainingOutput
|
||||||
|
:members:
|
||||||
|
|
||||||
|
|
||||||
AlbertModel
|
AlbertModel
|
||||||
~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
|||||||
@@ -59,6 +59,13 @@ BertTokenizerFast
|
|||||||
:members:
|
:members:
|
||||||
|
|
||||||
|
|
||||||
|
Bert specific outputs
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. autoclass:: transformers.modeling_bert.BertForPretrainingOutput
|
||||||
|
:members:
|
||||||
|
|
||||||
|
|
||||||
BertModel
|
BertModel
|
||||||
~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
|||||||
@@ -69,6 +69,19 @@ DPRReaderTokenizerFast
|
|||||||
:members:
|
:members:
|
||||||
|
|
||||||
|
|
||||||
|
DPR specific outputs
|
||||||
|
~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. autoclass:: transformers.modeling_dpr.DPRContextEncoderOutput
|
||||||
|
:members:
|
||||||
|
|
||||||
|
.. autoclass:: transformers.modeling_dpr.DPRQuestionEncoderOutput
|
||||||
|
:members:
|
||||||
|
|
||||||
|
.. autoclass:: transformers.modeling_dpr.DPRReaderOutput
|
||||||
|
:members:
|
||||||
|
|
||||||
|
|
||||||
DPRContextEncoder
|
DPRContextEncoder
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
|||||||
@@ -71,6 +71,13 @@ ElectraTokenizerFast
|
|||||||
:members:
|
:members:
|
||||||
|
|
||||||
|
|
||||||
|
Electra specific outputs
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. autoclass:: transformers.modeling_electra.ElectraForPretrainingOutput
|
||||||
|
:members:
|
||||||
|
|
||||||
|
|
||||||
ElectraModel
|
ElectraModel
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
|||||||
@@ -71,6 +71,13 @@ OpenAIGPTTokenizerFast
|
|||||||
:members:
|
:members:
|
||||||
|
|
||||||
|
|
||||||
|
OpenAI specific outputs
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. autoclass:: transformers.modeling_openai.OpenAIGPTDoubleHeadsModelOutput
|
||||||
|
:members:
|
||||||
|
|
||||||
|
|
||||||
OpenAIGPTModel
|
OpenAIGPTModel
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
|||||||
@@ -58,6 +58,13 @@ GPT2TokenizerFast
|
|||||||
:members:
|
:members:
|
||||||
|
|
||||||
|
|
||||||
|
GPT2 specific outputs
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. autoclass:: transformers.modeling_gpt2.GPT2DoubleHeadsModelOutput
|
||||||
|
:members:
|
||||||
|
|
||||||
|
|
||||||
GPT2Model
|
GPT2Model
|
||||||
~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
|||||||
@@ -56,6 +56,13 @@ MobileBertTokenizerFast
|
|||||||
:members:
|
:members:
|
||||||
|
|
||||||
|
|
||||||
|
MobileBert specific outputs
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. autoclass:: transformers.modeling_mobilebert.MobileBertForPretrainingOutput
|
||||||
|
:members:
|
||||||
|
|
||||||
|
|
||||||
MobileBertModel
|
MobileBertModel
|
||||||
~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
|||||||
@@ -54,6 +54,16 @@ TransfoXLTokenizerFast
|
|||||||
:members:
|
:members:
|
||||||
|
|
||||||
|
|
||||||
|
TransfoXL specific outputs
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. autoclass:: transformers.modeling_transfo_xl.TransfoXLModelOutput
|
||||||
|
:members:
|
||||||
|
|
||||||
|
.. autoclass:: transformers.modeling_transfo_xl.TransfoXLLMHeadModelOutput
|
||||||
|
:members:
|
||||||
|
|
||||||
|
|
||||||
TransfoXLModel
|
TransfoXLModel
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
|||||||
@@ -46,6 +46,14 @@ XLMTokenizer
|
|||||||
:members: build_inputs_with_special_tokens, get_special_tokens_mask,
|
:members: build_inputs_with_special_tokens, get_special_tokens_mask,
|
||||||
create_token_type_ids_from_sequences, save_vocabulary
|
create_token_type_ids_from_sequences, save_vocabulary
|
||||||
|
|
||||||
|
|
||||||
|
XLM specific outputs
|
||||||
|
~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. autoclass:: transformers.modeling_xlm.XLMForQuestionAnsweringOutput
|
||||||
|
:members:
|
||||||
|
|
||||||
|
|
||||||
XLMModel
|
XLMModel
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
|||||||
@@ -50,6 +50,31 @@ XLNetTokenizer
|
|||||||
create_token_type_ids_from_sequences, save_vocabulary
|
create_token_type_ids_from_sequences, save_vocabulary
|
||||||
|
|
||||||
|
|
||||||
|
XLNet specific outputs
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. autoclass:: transformers.modeling_xlnet.XLNetModelOutput
|
||||||
|
:members:
|
||||||
|
|
||||||
|
.. autoclass:: transformers.modeling_xlnet.XLNetLMHeadModelOutput
|
||||||
|
:members:
|
||||||
|
|
||||||
|
.. autoclass:: transformers.modeling_xlnet.XLNetForSequenceClassificationOutput
|
||||||
|
:members:
|
||||||
|
|
||||||
|
.. autoclass:: transformers.modeling_xlnet.XLNetForMultipleChoiceOutput
|
||||||
|
:members:
|
||||||
|
|
||||||
|
.. autoclass:: transformers.modeling_xlnet.XLNetForTokenClassificationOutput
|
||||||
|
:members:
|
||||||
|
|
||||||
|
.. autoclass:: transformers.modeling_xlnet.XLNetForQuestionAnsweringSimpleOutput
|
||||||
|
:members:
|
||||||
|
|
||||||
|
.. autoclass:: transformers.modeling_xlnet.XLNetForQuestionAnsweringOutput
|
||||||
|
:members:
|
||||||
|
|
||||||
|
|
||||||
XLNetModel
|
XLNetModel
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
|||||||
@@ -189,7 +189,7 @@ def add_end_docstrings(*docstr):
|
|||||||
|
|
||||||
RETURN_INTRODUCTION = r"""
|
RETURN_INTRODUCTION = r"""
|
||||||
Returns:
|
Returns:
|
||||||
:class:`~transformers.{output_type}` or :obj:`tuple(torch.FloatTensor)` (if ``return_tuple=True`` is passed or when ``config.return_tuple=True``) comprising various elements depending on the configuration (:class:`~transformers.{config_class}`) and inputs:
|
:class:`~{full_output_type}` or :obj:`tuple(torch.FloatTensor)` (if ``return_tuple=True`` is passed or when ``config.return_tuple=True``) comprising various elements depending on the configuration (:class:`~transformers.{config_class}`) and inputs:
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
@@ -208,7 +208,8 @@ def _prepare_output_docstrings(output_type, config_class):
|
|||||||
docstrings = "\n".join(lines[(i + 1) :])
|
docstrings = "\n".join(lines[(i + 1) :])
|
||||||
|
|
||||||
# Add the return introduction
|
# Add the return introduction
|
||||||
intro = RETURN_INTRODUCTION.format(output_type=output_type.__name__, config_class=config_class)
|
full_output_type = f"{output_type.__module__}.{output_type.__name__}"
|
||||||
|
intro = RETURN_INTRODUCTION.format(full_output_type=full_output_type, config_class=config_class)
|
||||||
return intro + docstrings
|
return intro + docstrings
|
||||||
|
|
||||||
|
|
||||||
@@ -857,14 +858,24 @@ def tf_required(func):
|
|||||||
|
|
||||||
class ModelOutput:
|
class ModelOutput:
|
||||||
"""
|
"""
|
||||||
Base class for all model outputs as dataclass. Has a ``__getitem__`` (to make it behave like a ``namedtuple``) that
|
Base class for all model outputs as dataclass. Has a ``__getitem__`` that allows indexing by integer or slice (like
|
||||||
will ignore ``None`` in the attributes.
|
a tuple) or strings (like a dictionnary) that will ignore the ``None`` attributes.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def to_tuple(self):
|
def to_tuple(self):
|
||||||
|
"""
|
||||||
|
Converts :obj:`self` to a tuple.
|
||||||
|
|
||||||
|
Return: A tuple containing all non-:obj:`None` attributes of the :obj:`self`.
|
||||||
|
"""
|
||||||
return tuple(getattr(self, f) for f in self.__dataclass_fields__.keys() if getattr(self, f, None) is not None)
|
return tuple(getattr(self, f) for f in self.__dataclass_fields__.keys() if getattr(self, f, None) is not None)
|
||||||
|
|
||||||
def to_dict(self):
|
def to_dict(self):
|
||||||
|
"""
|
||||||
|
Converts :obj:`self` to a Python dictionary.
|
||||||
|
|
||||||
|
Return: A dictionary containing all non-:obj:`None` attributes of the :obj:`self`.
|
||||||
|
"""
|
||||||
return {f: getattr(self, f) for f in self.__dataclass_fields__.keys() if getattr(self, f, None) is not None}
|
return {f: getattr(self, f) for f in self.__dataclass_fields__.keys() if getattr(self, f, None) is not None}
|
||||||
|
|
||||||
def __getitem__(self, i):
|
def __getitem__(self, i):
|
||||||
|
|||||||
@@ -410,9 +410,9 @@ class AlbertForPretrainingOutput(ModelOutput):
|
|||||||
Output type of :class:`~transformers.AlbertForPretrainingModel`.
|
Output type of :class:`~transformers.AlbertForPretrainingModel`.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
loss (`optional`, returned when ``labels`` is provided) ``torch.FloatTensor`` of shape ``(1,)``:
|
loss (`optional`, returned when ``labels`` is provided, ``torch.FloatTensor`` of shape :obj:`(1,)`):
|
||||||
Total loss as the sum of the masked language modeling loss and the next sequence prediction (classification) loss.
|
Total loss as the sum of the masked language modeling loss and the next sequence prediction (classification) loss.
|
||||||
prediction_logits (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, sequence_length, config.vocab_size)`)
|
prediction_logits (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, sequence_length, config.vocab_size)`):
|
||||||
Prediction scores of the language modeling head (scores for each vocabulary token before SoftMax).
|
Prediction scores of the language modeling head (scores for each vocabulary token before SoftMax).
|
||||||
sop_logits (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, 2)`):
|
sop_logits (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, 2)`):
|
||||||
Prediction scores of the next sequence prediction (classification) head (scores of True/False
|
Prediction scores of the next sequence prediction (classification) head (scores of True/False
|
||||||
|
|||||||
@@ -585,9 +585,9 @@ class BertForPretrainingOutput(ModelOutput):
|
|||||||
Output type of :class:`~transformers.BertForPretrainingModel`.
|
Output type of :class:`~transformers.BertForPretrainingModel`.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
loss (`optional`, returned when ``labels`` is provided) ``torch.FloatTensor`` of shape ``(1,)``:
|
loss (`optional`, returned when ``labels`` is provided, ``torch.FloatTensor`` of shape :obj:`(1,)`):
|
||||||
Total loss as the sum of the masked language modeling loss and the next sequence prediction (classification) loss.
|
Total loss as the sum of the masked language modeling loss and the next sequence prediction (classification) loss.
|
||||||
prediction_logits (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, sequence_length, config.vocab_size)`)
|
prediction_logits (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, sequence_length, config.vocab_size)`):
|
||||||
Prediction scores of the language modeling head (scores for each vocabulary token before SoftMax).
|
Prediction scores of the language modeling head (scores for each vocabulary token before SoftMax).
|
||||||
seq_relationship_logits (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, 2)`):
|
seq_relationship_logits (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, 2)`):
|
||||||
Prediction scores of the next sequence prediction (classification) head (scores of True/False
|
Prediction scores of the next sequence prediction (classification) head (scores of True/False
|
||||||
|
|||||||
@@ -191,9 +191,9 @@ class ElectraForPretrainingOutput(ModelOutput):
|
|||||||
Output type of :class:`~transformers.ElectraForPretrainingModel`.
|
Output type of :class:`~transformers.ElectraForPretrainingModel`.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
loss (`optional`, returned when ``labels`` is provided) ``torch.FloatTensor`` of shape ``(1,)``:
|
loss (`optional`, returned when ``labels`` is provided, ``torch.FloatTensor`` of shape :obj:`(1,)`):
|
||||||
Total loss of the ELECTRA objective.
|
Total loss of the ELECTRA objective.
|
||||||
logits (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, sequence_length)`)
|
logits (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, sequence_length)`):
|
||||||
Prediction scores of the head (scores for each token before SoftMax).
|
Prediction scores of the head (scores for each token before SoftMax).
|
||||||
hidden_states (:obj:`tuple(torch.FloatTensor)`, `optional`, returned when ``output_hidden_states=True`` is passed or when ``config.output_hidden_states=True``):
|
hidden_states (:obj:`tuple(torch.FloatTensor)`, `optional`, returned when ``output_hidden_states=True`` is passed or when ``config.output_hidden_states=True``):
|
||||||
Tuple of :obj:`torch.FloatTensor` (one for the output of the embeddings + one for the output of each layer)
|
Tuple of :obj:`torch.FloatTensor` (one for the output of the embeddings + one for the output of each layer)
|
||||||
|
|||||||
@@ -685,9 +685,9 @@ class MobileBertForPretrainingOutput(ModelOutput):
|
|||||||
Output type of :class:`~transformers.MobileBertForPretrainingModel`.
|
Output type of :class:`~transformers.MobileBertForPretrainingModel`.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
loss (`optional`, returned when ``labels`` is provided) ``torch.FloatTensor`` of shape ``(1,)``:
|
loss (`optional`, returned when ``labels`` is provided, ``torch.FloatTensor`` of shape :obj:`(1,)`):
|
||||||
Total loss as the sum of the masked language modeling loss and the next sequence prediction (classification) loss.
|
Total loss as the sum of the masked language modeling loss and the next sequence prediction (classification) loss.
|
||||||
prediction_logits (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, sequence_length, config.vocab_size)`)
|
prediction_logits (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, sequence_length, config.vocab_size)`):
|
||||||
Prediction scores of the language modeling head (scores for each vocabulary token before SoftMax).
|
Prediction scores of the language modeling head (scores for each vocabulary token before SoftMax).
|
||||||
seq_relationship_logits (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, 2)`):
|
seq_relationship_logits (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, 2)`):
|
||||||
Prediction scores of the next sequence prediction (classification) head (scores of True/False
|
Prediction scores of the next sequence prediction (classification) head (scores of True/False
|
||||||
|
|||||||
@@ -40,12 +40,11 @@ class BaseModelOutputWithPooling(ModelOutput):
|
|||||||
Args:
|
Args:
|
||||||
last_hidden_state (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, sequence_length, hidden_size)`):
|
last_hidden_state (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, sequence_length, hidden_size)`):
|
||||||
Sequence of hidden-states at the output of the last layer of the model.
|
Sequence of hidden-states at the output of the last layer of the model.
|
||||||
pooler_output (:obj:`torch.FloatTensor`: of shape :obj:`(batch_size, hidden_size)`):
|
pooler_output (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, hidden_size)`):
|
||||||
pooler_output (:obj:`torch.FloatTensor`: of shape :obj:`(batch_size, hidden_size)`):
|
|
||||||
Last layer hidden-state of the first token of the sequence (classification token)
|
Last layer hidden-state of the first token of the sequence (classification token)
|
||||||
further processed by a Linear layer and a Tanh activation function. The Linear
|
further processed by a Linear layer and a Tanh activation function. The Linear
|
||||||
layer weights are trained from the next sentence prediction (classification)
|
layer weights are trained from the next sentence prediction (classification)
|
||||||
objective during pre-training.
|
objective during pretraining.
|
||||||
|
|
||||||
This output is usually *not* a good summary
|
This output is usually *not* a good summary
|
||||||
of the semantic content of the input, you're often better with averaging or pooling
|
of the semantic content of the input, you're often better with averaging or pooling
|
||||||
@@ -114,7 +113,7 @@ class Seq2SeqModelOutput(ModelOutput):
|
|||||||
last_hidden_state (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, sequence_length, hidden_size)`):
|
last_hidden_state (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, sequence_length, hidden_size)`):
|
||||||
Sequence of hidden-states at the output of the last layer of the decoder of the model.
|
Sequence of hidden-states at the output of the last layer of the decoder of the model.
|
||||||
|
|
||||||
If `decoder_past_key_values` is used only the last hidden-state of the sequences of shape :obj:`(batch_size, 1, hidden_size)` is output.
|
If ``decoder_past_key_values`` is used only the last hidden-state of the sequences of shape :obj:`(batch_size, 1, hidden_size)` is output.
|
||||||
decoder_past_key_values (:obj:`List[torch.FloatTensor]`, `optional`, returned when ``use_cache=True`` is passed or when ``config.use_cache=True``):
|
decoder_past_key_values (:obj:`List[torch.FloatTensor]`, `optional`, returned when ``use_cache=True`` is passed or when ``config.use_cache=True``):
|
||||||
List of :obj:`torch.FloatTensor` of length :obj:`config.n_layers`, with each tensor of shape
|
List of :obj:`torch.FloatTensor` of length :obj:`config.n_layers`, with each tensor of shape
|
||||||
:obj:`(2, batch_size, num_heads, sequence_length, embed_size_per_head)`).
|
:obj:`(2, batch_size, num_heads, sequence_length, embed_size_per_head)`).
|
||||||
@@ -337,7 +336,7 @@ class SequenceClassifierOutput(ModelOutput):
|
|||||||
Base class for outputs of sentence classification models.
|
Base class for outputs of sentence classification models.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
loss (:obj:`torch.FloatTensor` of shape :obj:`(1,)`, `optional`, returned when :obj:`label` is provided):
|
loss (:obj:`torch.FloatTensor` of shape :obj:`(1,)`, `optional`, returned when :obj:`labels` is provided):
|
||||||
Classification (or regression if config.num_labels==1) loss.
|
Classification (or regression if config.num_labels==1) loss.
|
||||||
logits (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, config.num_labels)`):
|
logits (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, config.num_labels)`):
|
||||||
Classification (or regression if config.num_labels==1) scores (before SoftMax).
|
Classification (or regression if config.num_labels==1) scores (before SoftMax).
|
||||||
|
|||||||
Reference in New Issue
Block a user