models.rst 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. .. role:: hidden
  2. :class: hidden-section
  3. .. module:: fairseq.models
  4. .. _Models:
  5. Models
  6. ======
  7. A Model defines the neural network's ``forward()`` method and encapsulates all
  8. of the learnable parameters in the network. Each model also provides a set of
  9. named *architectures* that define the precise network configuration (e.g.,
  10. embedding dimension, number of layers, etc.).
  11. Both the model type and architecture are selected via the ``--arch``
  12. command-line argument. Once selected, a model may expose additional command-line
  13. arguments for further configuration.
  14. .. note::
  15. All fairseq Models extend :class:`BaseFairseqModel`, which in turn extends
  16. :class:`torch.nn.Module`. Thus any fairseq Model can be used as a
  17. stand-alone Module in other PyTorch code.
  18. Convolutional Neural Networks (CNN)
  19. -----------------------------------
  20. .. module:: fairseq.models.fconv
  21. .. autoclass:: fairseq.models.fconv.FConvModel
  22. :members:
  23. .. autoclass:: fairseq.models.fconv.FConvEncoder
  24. :members:
  25. :undoc-members:
  26. .. autoclass:: fairseq.models.fconv.FConvDecoder
  27. :members:
  28. Long Short-Term Memory (LSTM) networks
  29. --------------------------------------
  30. .. module:: fairseq.models.lstm
  31. .. autoclass:: fairseq.models.lstm.LSTMModel
  32. :members:
  33. .. autoclass:: fairseq.models.lstm.LSTMEncoder
  34. :members:
  35. .. autoclass:: fairseq.models.lstm.LSTMDecoder
  36. :members:
  37. Transformer (self-attention) networks
  38. -------------------------------------
  39. .. module:: fairseq.models.transformer
  40. .. autoclass:: fairseq.models.transformer.TransformerModel
  41. :members:
  42. .. autoclass:: fairseq.models.transformer.TransformerEncoder
  43. :members:
  44. .. autoclass:: fairseq.models.transformer.TransformerEncoderLayer
  45. :members:
  46. .. autoclass:: fairseq.models.transformer.TransformerDecoder
  47. :members:
  48. .. autoclass:: fairseq.models.transformer.TransformerDecoderLayer
  49. :members:
  50. Adding new models
  51. -----------------
  52. .. currentmodule:: fairseq.models
  53. .. autofunction:: fairseq.models.register_model
  54. .. autofunction:: fairseq.models.register_model_architecture
  55. .. autoclass:: fairseq.models.BaseFairseqModel
  56. :members:
  57. :undoc-members:
  58. .. autoclass:: fairseq.models.FairseqEncoderDecoderModel
  59. :members:
  60. :undoc-members:
  61. .. autoclass:: fairseq.models.FairseqEncoderModel
  62. :members:
  63. :undoc-members:
  64. .. autoclass:: fairseq.models.FairseqLanguageModel
  65. :members:
  66. :undoc-members:
  67. .. autoclass:: fairseq.models.FairseqMultiModel
  68. :members:
  69. :undoc-members:
  70. .. autoclass:: fairseq.models.FairseqEncoder
  71. :members:
  72. .. autoclass:: fairseq.models.CompositeEncoder
  73. :members:
  74. .. autoclass:: fairseq.models.FairseqDecoder
  75. :members:
  76. .. _Incremental decoding:
  77. Incremental decoding
  78. --------------------
  79. .. autoclass:: fairseq.models.FairseqIncrementalDecoder
  80. :members:
  81. :undoc-members: