def define_sequence_model(self):
seed = 12345
np.random.seed(seed)
# add hidden layers
for i in range(self.n_layers):
if i == 0:
input_size = self.n_in
else:
input_size = self.hidden_layer_size[i - 1]
if self.hidden_layer_type[i]=='rnn':
self.model.add(SimpleRNN(
units=self.hidden_layer_size[i],
input_shape=(None, input_size),
return_sequences=True))
elif self.hidden_layer_type[i]=='gru':
self.model.add(GRU(
units=self.hidden_layer_size[i],
input_shape=(None, input_size),
return_sequences=True))
elif self.hidden_layer_type[i]=='lstm':
self.model.add(LSTM(
units=self.hidden_layer_size[i],
input_shape=(None, input_size),
return_sequences=True))
elif self.hidden_layer_type[i]=='blstm':
self.model.add(LSTM(
units=self.hidden_layer_size[i],
input_shape=(None, input_size),
return_sequences=True,
go_backwards=True))
else:
self.model.add(Dense(
units=self.hidden_layer_size[i],
activation=self.hidden_layer_type[i],
kernel_initializer="normal",
input_shape=(None, input_size)))
# add output layer
self.final_layer = self.model.add(Dense(
units=self.n_out,
input_dim=self.hidden_layer_size[-1],
kernel_initializer='normal',
activation=self.output_type.lower()))
# Compile the model
self.compile_model()
评论列表
文章目录