def build(self, input_shape):
self.input_spec = [InputSpec(shape=input_shape)]
if self.stateful:
self.reset_states()
else:
self.states = [K.random_normal(shape=(self.output_dim,), mean=0.5, std=0.5)]
input_dim = input_shape[2]
self.input_dim = input_dim
self.W = self.init((input_dim, self.output_dim), name='{}_W'.format(self.name))
self.U = self.inner_init((self.output_dim, self.output_dim), name='{}_U'.format(self.name))
self.b = K.zeros((self.output_dim,), name='{}_b'.format(self.name))
self.regularizers = []
if self.W_regularizer:
self.W_regularizer.set_param(self.W)
self.regularizers.append(self.W_regularizer)
if self.U_regularizer:
self.U_regularizer.set_param(self.U)
self.regularizers.append(self.U_regularizer)
if self.b_regularizer:
self.b_regularizer.set_param(self.b)
self.regularizers.append(self.b_regularizer)
self.trainable_weights = [self.W, self.U]
if self.dale_ratio:
self.non_trainable_weights = [self.Dale]
if self.initial_weights is not None:
self.set_weights(self.initial_weights)
del self.initial_weights
评论列表
文章目录