MCPcopy
hub / github.com/hankcs/HanLP / build_model

Method build_model

hanlp/components/rnn_language_model_tf.py:36–51  ·  view source on GitHub ↗
(self, embedding, rnn_input_dropout, rnn_units, rnn_output_dropout, batch_size, seq_len, training,
                    **kwargs)

Source from the content-addressed store, hash-verified

34 return super().fit(**dict((k, v) for k, v in locals().items() if k not in ('self', 'kwargs')))
35
36 def build_model(self, embedding, rnn_input_dropout, rnn_units, rnn_output_dropout, batch_size, seq_len, training,
37 **kwargs) -> tf.keras.Model:
38 model = tf.keras.Sequential()
39 extra_args = {}
40 if training:
41 extra_args['batch_input_shape'] = [batch_size, seq_len]
42 embedding = tf.keras.layers.Embedding(input_dim=len(self.transform.vocab), output_dim=embedding,
43 trainable=True, mask_zero=True, **extra_args)
44 model.add(embedding)
45 if rnn_input_dropout:
46 model.add(tf.keras.layers.Dropout(rnn_input_dropout, name='rnn_input_dropout'))
47 model.add(tf.keras.layers.LSTM(units=rnn_units, return_sequences=True, stateful=training, name='encoder'))
48 if rnn_output_dropout:
49 model.add(tf.keras.layers.Dropout(rnn_output_dropout, name='rnn_output_dropout'))
50 model.add(tf.keras.layers.TimeDistributed(tf.keras.layers.Dense(len(self.transform.vocab)), name='decoder'))
51 return model
52
53 # noinspection PyMethodOverriding
54 def build_optimizer(self, optimizer, learning_rate, clipnorm, **kwargs):

Callers

nothing calls this directly

Calls 1

addMethod · 0.45

Tested by

no test coverage detected