model.rst 3.45 KB
Newer Older
Sylvain Gugger's avatar
Sylvain Gugger committed
1
2
3
4
5
6
7
8
9
10
11
12
.. 
    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.

thomwolf's avatar
thomwolf committed
13
Models
Sylvain Gugger's avatar
Sylvain Gugger committed
14
-----------------------------------------------------------------------------------------------------------------------
thomwolf's avatar
thomwolf committed
15

16
17
18
19
The base classes :class:`~transformers.PreTrainedModel`, :class:`~transformers.TFPreTrainedModel`, and
:class:`~transformers.FlaxPreTrainedModel` implement the common methods for loading/saving a model either from a local
file or directory, or from a pretrained model configuration provided by the library (downloaded from HuggingFace's AWS
S3 repository).
20

Sylvain Gugger's avatar
Sylvain Gugger committed
21
22
:class:`~transformers.PreTrainedModel` and :class:`~transformers.TFPreTrainedModel` also implement a few methods which
are common among all the models to:
23
24
25
26

- resize the input token embeddings when new tokens are added to the vocabulary
- prune the attention heads of the model.

Sylvain Gugger's avatar
Sylvain Gugger committed
27
The other methods that are common to each model are defined in :class:`~transformers.modeling_utils.ModuleUtilsMixin`
Sylvain Gugger's avatar
Sylvain Gugger committed
28
(for the PyTorch models) and :class:`~transformers.modeling_tf_utils.TFModuleUtilsMixin` (for the TensorFlow models) or
Patrick von Platen's avatar
Patrick von Platen committed
29
30
31
for text generation, :class:`~transformers.generation_utils.GenerationMixin` (for the PyTorch models),
:class:`~transformers.generation_tf_utils.TFGenerationMixin` (for the TensorFlow models) and
:class:`~transformers.generation_flax_utils.FlaxGenerationMixin` (for the Flax/JAX models).
Sylvain Gugger's avatar
Sylvain Gugger committed
32
33


Sylvain Gugger's avatar
Sylvain Gugger committed
34
35
PreTrainedModel
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
thomwolf's avatar
thomwolf committed
36

37
.. autoclass:: transformers.PreTrainedModel
thomwolf's avatar
thomwolf committed
38
    :members:
LysandreJik's avatar
LysandreJik committed
39

Patrick von Platen's avatar
Patrick von Platen committed
40

Sylvain Gugger's avatar
Sylvain Gugger committed
41
42
ModuleUtilsMixin
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sylvain Gugger's avatar
Sylvain Gugger committed
43
44
45
46

.. autoclass:: transformers.modeling_utils.ModuleUtilsMixin
    :members:

Patrick von Platen's avatar
Patrick von Platen committed
47

Sylvain Gugger's avatar
Sylvain Gugger committed
48
49
TFPreTrainedModel
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LysandreJik's avatar
LysandreJik committed
50

51
.. autoclass:: transformers.TFPreTrainedModel
LysandreJik's avatar
LysandreJik committed
52
    :members:
Sylvain Gugger's avatar
Sylvain Gugger committed
53
54


Sylvain Gugger's avatar
Sylvain Gugger committed
55
56
TFModelUtilsMixin
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sylvain Gugger's avatar
Sylvain Gugger committed
57
58
59

.. autoclass:: transformers.modeling_tf_utils.TFModelUtilsMixin
    :members:
Sylvain Gugger's avatar
Sylvain Gugger committed
60
61


62
63
64
65
66
67
68
FlaxPreTrainedModel
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. autoclass:: transformers.FlaxPreTrainedModel
    :members:


69
Generation
Sylvain Gugger's avatar
Sylvain Gugger committed
70
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sylvain Gugger's avatar
Sylvain Gugger committed
71

Sylvain Gugger's avatar
Sylvain Gugger committed
72
73
74
75
.. autoclass:: transformers.generation_utils.GenerationMixin
    :members:

.. autoclass:: transformers.generation_tf_utils.TFGenerationMixin
Sylvain Gugger's avatar
Sylvain Gugger committed
76
    :members:
Sylvain Gugger's avatar
Sylvain Gugger committed
77

Patrick von Platen's avatar
Patrick von Platen committed
78
79
80
.. autoclass:: transformers.generation_flax_utils.FlaxGenerationMixin
    :members:

Sylvain Gugger's avatar
Sylvain Gugger committed
81
82
83
84
85
86

Pushing to the Hub
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. autoclass:: transformers.file_utils.PushToHubMixin
    :members: