def build_output(self):
disp = Dense(self.output_size, activation=DispAct,
kernel_initializer=self.init,
kernel_regularizer=l1_l2(self.l1_coef,
self.l2_coef),
name='dispersion')(self.decoder_output)
mean = Dense(self.output_size, activation=MeanAct, kernel_initializer=self.init,
kernel_regularizer=l1_l2(self.l1_coef, self.l2_coef),
name='mean')(self.decoder_output)
output = ColWiseMultLayer(name='output')([mean, self.sf_layer])
output = SliceLayer(0, name='slice')([output, disp])
nb = NB(theta=disp, debug=self.debug)
self.loss = nb.loss
self.extra_models['dispersion'] = Model(inputs=self.input_layer, outputs=disp)
self.extra_models['mean_norm'] = Model(inputs=self.input_layer, outputs=mean)
self.extra_models['decoded'] = Model(inputs=self.input_layer, outputs=self.decoder_output)
self.model = Model(inputs=[self.input_layer, self.sf_layer], outputs=output)
if self.ae:
self.encoder = self.get_encoder()
评论列表
文章目录