|
.. role:: hidden |
|
:class: hidden-section |
|
|
|
.. module:: fairseq.models |
|
|
|
.. _Models: |
|
|
|
Models |
|
====== |
|
|
|
A Model defines the neural network's ``forward()`` method and encapsulates all |
|
of the learnable parameters in the network. Each model also provides a set of |
|
named *architectures* that define the precise network configuration (e.g., |
|
embedding dimension, number of layers, etc.). |
|
|
|
Both the model type and architecture are selected via the ``--arch`` |
|
command-line argument. Once selected, a model may expose additional command-line |
|
arguments for further configuration. |
|
|
|
.. note:: |
|
|
|
All fairseq Models extend :class:`BaseFairseqModel`, which in turn extends |
|
:class:`torch.nn.Module`. Thus any fairseq Model can be used as a |
|
stand-alone Module in other PyTorch code. |
|
|
|
|
|
Convolutional Neural Networks (CNN) |
|
----------------------------------- |
|
|
|
.. module:: fairseq.models.fconv |
|
.. autoclass:: fairseq.models.fconv.FConvModel |
|
:members: |
|
.. autoclass:: fairseq.models.fconv.FConvEncoder |
|
:members: |
|
:undoc-members: |
|
.. autoclass:: fairseq.models.fconv.FConvDecoder |
|
:members: |
|
|
|
|
|
Long Short-Term Memory (LSTM) networks |
|
-------------------------------------- |
|
|
|
.. module:: fairseq.models.lstm |
|
.. autoclass:: fairseq.models.lstm.LSTMModel |
|
:members: |
|
.. autoclass:: fairseq.models.lstm.LSTMEncoder |
|
:members: |
|
.. autoclass:: fairseq.models.lstm.LSTMDecoder |
|
:members: |
|
|
|
|
|
Transformer (self-attention) networks |
|
------------------------------------- |
|
|
|
.. module:: fairseq.models.transformer |
|
.. autoclass:: fairseq.models.transformer.TransformerModel |
|
:members: |
|
.. autoclass:: fairseq.models.transformer.TransformerEncoder |
|
:members: |
|
.. autoclass:: fairseq.models.transformer.TransformerEncoderLayer |
|
:members: |
|
.. autoclass:: fairseq.models.transformer.TransformerDecoder |
|
:members: |
|
.. autoclass:: fairseq.models.transformer.TransformerDecoderLayer |
|
:members: |
|
|
|
|
|
Adding new models |
|
----------------- |
|
|
|
.. currentmodule:: fairseq.models |
|
.. autofunction:: fairseq.models.register_model |
|
.. autofunction:: fairseq.models.register_model_architecture |
|
.. autoclass:: fairseq.models.BaseFairseqModel |
|
:members: |
|
:undoc-members: |
|
.. autoclass:: fairseq.models.FairseqEncoderDecoderModel |
|
:members: |
|
:undoc-members: |
|
.. autoclass:: fairseq.models.FairseqEncoderModel |
|
:members: |
|
:undoc-members: |
|
.. autoclass:: fairseq.models.FairseqLanguageModel |
|
:members: |
|
:undoc-members: |
|
.. autoclass:: fairseq.models.FairseqMultiModel |
|
:members: |
|
:undoc-members: |
|
.. autoclass:: fairseq.models.FairseqEncoder |
|
:members: |
|
.. autoclass:: fairseq.models.CompositeEncoder |
|
:members: |
|
.. autoclass:: fairseq.models.FairseqDecoder |
|
:members: |
|
|
|
|
|
.. _Incremental decoding: |
|
|
|
Incremental decoding |
|
-------------------- |
|
|
|
.. autoclass:: fairseq.models.FairseqIncrementalDecoder |
|
:members: |
|
:undoc-members: |
|
|