model_keras.py 文件源码

python
阅读 15 收藏 0 点赞 0 评论 0

项目:kaggle-prudential-sample 作者: threecourse 项目源码 文件源码
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
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号