From e07a6f9dbc21e4eb2cd4e08e578e336bcaee0fef Mon Sep 17 00:00:00 2001 From: Parmeet Singh Bhatia Date: Tue, 30 Mar 2021 23:13:35 -0400 Subject: [PATCH 1/4] moving multiheadattention out of modules --- docs/source/nn_modules.rst | 6 +++--- torchtext/nn/__init__.py | 7 ++++++- torchtext/nn/modules/__init__.py | 6 ------ torchtext/nn/{modules => }/multiheadattention.py | 0 4 files changed, 9 insertions(+), 10 deletions(-) delete mode 100644 torchtext/nn/modules/__init__.py rename torchtext/nn/{modules => }/multiheadattention.py (100%) diff --git a/docs/source/nn_modules.rst b/docs/source/nn_modules.rst index 064f51488a..6bf265c5db 100644 --- a/docs/source/nn_modules.rst +++ b/docs/source/nn_modules.rst @@ -1,11 +1,11 @@ .. role:: hidden :class: hidden-section -torchtext.nn.modules.multiheadattention +torchtext.nn.multiheadattention ======================================= -.. automodule:: torchtext.nn.modules.multiheadattention -.. currentmodule:: torchtext.nn.modules.multiheadattention +.. automodule:: torchtext.nn.multiheadattention +.. currentmodule:: torchtext.nn.multiheadattention :hidden:`MultiheadAttentionContainer` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/torchtext/nn/__init__.py b/torchtext/nn/__init__.py index c48d6de70e..a55ced48fb 100644 --- a/torchtext/nn/__init__.py +++ b/torchtext/nn/__init__.py @@ -1 +1,6 @@ -from .modules import * # noqa: F401,F403 +from .multiheadattention import InProjContainer, \ + MultiheadAttentionContainer, ScaledDotProduct + +__all__ = ['InProjContainer', + 'MultiheadAttentionContainer', + 'ScaledDotProduct'] diff --git a/torchtext/nn/modules/__init__.py b/torchtext/nn/modules/__init__.py deleted file mode 100644 index a55ced48fb..0000000000 --- a/torchtext/nn/modules/__init__.py +++ /dev/null @@ -1,6 +0,0 @@ -from .multiheadattention import InProjContainer, \ - MultiheadAttentionContainer, ScaledDotProduct - -__all__ = ['InProjContainer', - 'MultiheadAttentionContainer', - 'ScaledDotProduct'] diff --git a/torchtext/nn/modules/multiheadattention.py b/torchtext/nn/multiheadattention.py similarity index 100% rename from torchtext/nn/modules/multiheadattention.py rename to torchtext/nn/multiheadattention.py From 5fbb217ba2b428b52fbcaebc17cfc5cb5985f1f3 Mon Sep 17 00:00:00 2001 From: Parmeet Singh Bhatia Date: Wed, 31 Mar 2021 12:36:11 -0400 Subject: [PATCH 2/4] Revert "moving multiheadattention out of modules" This reverts commit e07a6f9dbc21e4eb2cd4e08e578e336bcaee0fef. --- docs/source/nn_modules.rst | 6 +++--- torchtext/nn/__init__.py | 7 +------ torchtext/nn/modules/__init__.py | 6 ++++++ torchtext/nn/{ => modules}/multiheadattention.py | 0 4 files changed, 10 insertions(+), 9 deletions(-) create mode 100644 torchtext/nn/modules/__init__.py rename torchtext/nn/{ => modules}/multiheadattention.py (100%) diff --git a/docs/source/nn_modules.rst b/docs/source/nn_modules.rst index 6bf265c5db..064f51488a 100644 --- a/docs/source/nn_modules.rst +++ b/docs/source/nn_modules.rst @@ -1,11 +1,11 @@ .. role:: hidden :class: hidden-section -torchtext.nn.multiheadattention +torchtext.nn.modules.multiheadattention ======================================= -.. automodule:: torchtext.nn.multiheadattention -.. currentmodule:: torchtext.nn.multiheadattention +.. automodule:: torchtext.nn.modules.multiheadattention +.. currentmodule:: torchtext.nn.modules.multiheadattention :hidden:`MultiheadAttentionContainer` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/torchtext/nn/__init__.py b/torchtext/nn/__init__.py index a55ced48fb..c48d6de70e 100644 --- a/torchtext/nn/__init__.py +++ b/torchtext/nn/__init__.py @@ -1,6 +1 @@ -from .multiheadattention import InProjContainer, \ - MultiheadAttentionContainer, ScaledDotProduct - -__all__ = ['InProjContainer', - 'MultiheadAttentionContainer', - 'ScaledDotProduct'] +from .modules import * # noqa: F401,F403 diff --git a/torchtext/nn/modules/__init__.py b/torchtext/nn/modules/__init__.py new file mode 100644 index 0000000000..a55ced48fb --- /dev/null +++ b/torchtext/nn/modules/__init__.py @@ -0,0 +1,6 @@ +from .multiheadattention import InProjContainer, \ + MultiheadAttentionContainer, ScaledDotProduct + +__all__ = ['InProjContainer', + 'MultiheadAttentionContainer', + 'ScaledDotProduct'] diff --git a/torchtext/nn/multiheadattention.py b/torchtext/nn/modules/multiheadattention.py similarity index 100% rename from torchtext/nn/multiheadattention.py rename to torchtext/nn/modules/multiheadattention.py From e97a36528a846a0bf42e5407980b5937f0b57918 Mon Sep 17 00:00:00 2001 From: Parmeet Singh Bhatia Date: Wed, 31 Mar 2021 13:25:55 -0400 Subject: [PATCH 3/4] modified doc for nn --- docs/source/nn_modules.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/source/nn_modules.rst b/docs/source/nn_modules.rst index 064f51488a..5b979581e0 100644 --- a/docs/source/nn_modules.rst +++ b/docs/source/nn_modules.rst @@ -1,11 +1,11 @@ .. role:: hidden :class: hidden-section -torchtext.nn.modules.multiheadattention +torchtext.nn ======================================= -.. automodule:: torchtext.nn.modules.multiheadattention -.. currentmodule:: torchtext.nn.modules.multiheadattention +.. automodule:: torchtext.nn +.. currentmodule:: torchtext.nn :hidden:`MultiheadAttentionContainer` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From 2ec44039dda83d4a253e968d1a8f7a9f29af0cef Mon Sep 17 00:00:00 2001 From: Parmeet Singh Bhatia Date: Wed, 31 Mar 2021 13:46:24 -0400 Subject: [PATCH 4/4] fixing example code --- torchtext/nn/modules/multiheadattention.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/torchtext/nn/modules/multiheadattention.py b/torchtext/nn/modules/multiheadattention.py index b581d245c4..e0909d70b3 100644 --- a/torchtext/nn/modules/multiheadattention.py +++ b/torchtext/nn/modules/multiheadattention.py @@ -20,6 +20,7 @@ def __init__(self, nhead, in_proj_container, attention_layer, out_proj, batch_fi Examples:: >>> import torch + >>> from torchtext.nn import MultiheadAttentionContainer, InProjContainer, ScaledDotProduct >>> embed_dim, num_heads, bsz = 10, 5, 64 >>> in_proj_container = InProjContainer(torch.nn.Linear(embed_dim, embed_dim), torch.nn.Linear(embed_dim, embed_dim), @@ -122,6 +123,7 @@ def __init__(self, dropout=0.0, batch_first=False): as `(batch, seq, feature)`. Default: ``False`` Examples:: + >>> import torch, torchtext >>> SDP = torchtext.nn.ScaledDotProduct(dropout=0.1) >>> q = torch.randn(21, 256, 3) >>> k = v = torch.randn(21, 256, 3) @@ -245,6 +247,7 @@ def forward(self, value (Tensor): The values to be projected. Examples:: + >>> import torch >>> from torchtext.nn import InProjContainer >>> embed_dim, bsz = 10, 64 >>> in_proj_container = InProjContainer(torch.nn.Linear(embed_dim, embed_dim),