def _construct(self, inputShape):
init = 'glorot_normal'
activation = 'relu'
loss = 'mse'
print "loss", loss
layers = [self.prms["h1"], self.prms["h2"]]
dropout = [self.prms["dropout1"], self.prms["dropout2"]]
optimizer = Adadelta(lr=self.prms["adadelta_lr"], rho=(1.0 - self.prms["adadelta_rho_m"]),
epsilon=self.prms["adadelta_eps"])
decay = self.prms["decay"]
model = Sequential()
for i in range(len(layers)):
if i == 0:
print ("Input shape: " + str(inputShape))
print ("Adding Layer " + str(i) + ": " + str(layers[i]))
model.add(Dense(layers[i], input_dim=inputShape, init=init, W_regularizer=l2(decay)))
else:
print ("Adding Layer " + str(i) + ": " + str(layers[i]))
model.add(Dense(layers[i], init=init, W_regularizer=l2(decay)))
print ("Adding " + activation + " layer")
model.add(Activation(activation))
model.add(BatchNormalization())
if len(dropout) > i:
print ("Adding " + str(dropout[i]) + " dropout")
model.add(Dropout(dropout[i]))
model.add(Dense(1, init=init)) # End in a single output node for regression style output
# ADAM=Adam(lr=0.001, beta_1=0.9, beta_2=0.999, epsilon=1e-8)
model.compile(loss=loss, optimizer=optimizer)
self.model = model
model_keras.py 文件源码
python
阅读 15
收藏 0
点赞 0
评论 0
评论列表
文章目录