Skip to content

Commit 5de599d

Browse files
committed
removed decoder_layers, should be implemented manually for LSTMCell
1 parent c0b7b68 commit 5de599d

File tree

2 files changed

+2
-7
lines changed

2 files changed

+2
-7
lines changed

models.py

+2-5
Original file line numberDiff line numberDiff line change
@@ -91,14 +91,12 @@ class DecoderWithAttention(nn.Module):
9191
Decoder.
9292
"""
9393

94-
def __init__(self, attention_dim, embed_dim, decoder_dim, vocab_size, decoder_layers=1, encoder_dim=2048,
95-
dropout=0.5):
94+
def __init__(self, attention_dim, embed_dim, decoder_dim, vocab_size, encoder_dim=2048, dropout=0.5):
9695
"""
9796
:param attention_dim: size of attention network
9897
:param embed_dim: embedding size
9998
:param decoder_dim: size of decoder's RNN
10099
:param vocab_size: size of vocabulary
101-
:param decoder_layers: number of layers in the decoder
102100
:param encoder_dim: feature size of encoded images
103101
:param dropout: dropout
104102
"""
@@ -109,14 +107,13 @@ def __init__(self, attention_dim, embed_dim, decoder_dim, vocab_size, decoder_la
109107
self.embed_dim = embed_dim
110108
self.decoder_dim = decoder_dim
111109
self.vocab_size = vocab_size
112-
self.decoder_layers = decoder_layers
113110
self.dropout = dropout
114111

115112
self.attention = Attention(encoder_dim, decoder_dim, attention_dim) # attention network
116113

117114
self.embedding = nn.Embedding(vocab_size, embed_dim) # embedding layer
118115
self.dropout = nn.Dropout(p=self.dropout)
119-
self.decode_step = nn.LSTMCell(embed_dim + encoder_dim, decoder_dim, decoder_layers) # decoding LSTMCell
116+
self.decode_step = nn.LSTMCell(embed_dim + encoder_dim, decoder_dim, bias=True) # decoding LSTMCell
120117
self.init_h = nn.Linear(encoder_dim, decoder_dim) # linear layer to find initial hidden state of LSTMCell
121118
self.init_c = nn.Linear(encoder_dim, decoder_dim) # linear layer to find initial cell state of LSTMCell
122119
self.f_beta = nn.Linear(decoder_dim, encoder_dim) # linear layer to create a sigmoid-activated gate

train.py

-2
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
emb_dim = 512 # dimension of word embeddings
1919
attention_dim = 512 # dimension of attention linear layers
2020
decoder_dim = 512 # dimension of decoder RNN
21-
decoder_layers = 1 # number of layers in decoder RNN
2221
dropout = 0.5
2322
device = torch.device("cuda" if torch.cuda.is_available() else "cpu") # sets device for model and PyTorch tensors
2423
cudnn.benchmark = True # set to true only if inputs to model are fixed size; otherwise lot of computational overhead
@@ -57,7 +56,6 @@ def main():
5756
embed_dim=emb_dim,
5857
decoder_dim=decoder_dim,
5958
vocab_size=len(word_map),
60-
decoder_layers=decoder_layers,
6159
dropout=dropout)
6260
decoder_optimizer = torch.optim.Adam(params=filter(lambda p: p.requires_grad, decoder.parameters()),
6361
lr=decoder_lr)

0 commit comments

Comments
 (0)