MCPcopy
hub / github.com/tensorlayer/TensorLayer / PTB_Net

Class PTB_Net

examples/text_ptb/tutorial_ptb_lstm.py:126–153  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

124
125
126class PTB_Net(Model):
127
128 def __init__(self, vocab_size, hidden_size, init, keep):
129 super(PTB_Net, self).__init__()
130
131 self.embedding = tl.layers.Embedding(vocab_size, hidden_size, init)
132 self.dropout1 = tl.layers.Dropout(keep=keep)
133 self.lstm1 = tl.layers.RNN(
134 cell=tf.keras.layers.LSTMCell(hidden_size), return_last_output=False, return_last_state=True,
135 return_seq_2d=False, in_channels=hidden_size
136 )
137 self.dropout2 = tl.layers.Dropout(keep=keep)
138 self.lstm2 = tl.layers.RNN(
139 cell=tf.keras.layers.LSTMCell(hidden_size), return_last_output=False, return_last_state=True,
140 return_seq_2d=True, in_channels=hidden_size
141 )
142 self.dropout3 = tl.layers.Dropout(keep=keep)
143 self.out_dense = tl.layers.Dense(vocab_size, in_channels=hidden_size, W_init=init, b_init=init, act=None)
144
145 def forward(self, inputs, lstm1_initial_state=None, lstm2_initial_state=None):
146 inputs = self.embedding(inputs)
147 inputs = self.dropout1(inputs)
148 lstm1_out, lstm1_state = self.lstm1(inputs, initial_state=lstm1_initial_state)
149 inputs = self.dropout2(lstm1_out)
150 lstm2_out, lstm2_state = self.lstm2(inputs, initial_state=lstm2_initial_state)
151 inputs = self.dropout3(lstm2_out)
152 logits = self.out_dense(inputs)
153 return logits, lstm1_state, lstm2_state
154
155
156def main():

Callers 1

mainFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…