main.py 文件源码

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

项目:EEDS-keras 作者: MarkPrecursor 项目源码 文件源码
def model_EED(input_col, input_row):
    _input = Input(shape=(input_col, input_row, 1), name='input')

    Feature = Conv2D(nb_filter=64, nb_row=3, nb_col=3, init='glorot_uniform',
                     activation='relu', border_mode='same', bias=True)(_input)
    Feature = Conv2D(nb_filter=64, nb_row=3, nb_col=3, init='glorot_uniform',
                     activation='relu', border_mode='same', bias=True)(Feature)
    Feature3 = Conv2D(nb_filter=64, nb_row=3, nb_col=3, init='glorot_uniform',
                      activation='relu', border_mode='same', bias=True)(Feature)
    Feature_out = merge(inputs=[Feature, Feature3], mode='sum')

    # Upsampling
    Upsampling1 = Conv2D(nb_filter=8, nb_row=1, nb_col=1, init='glorot_uniform',
                         activation='relu', border_mode='same', bias=True)(Feature_out)
    Upsampling2 = Deconvolution2D(nb_filter=8, nb_row=14, nb_col=14,
                                  output_shape=(None, input_col * 2, input_row * 2, 8),
                                  subsample=(2, 2), border_mode='same',
                                  init='glorot_uniform', activation='relu')(Upsampling1)
    Upsampling3 = Conv2D(nb_filter=64, nb_row=1, nb_col=1, init='glorot_uniform',
                         activation='relu', border_mode='same', bias=True)(Upsampling2)

    # Mulyi-scale Reconstruction
    Reslayer1 = Conv2D(nb_filter=64, nb_row=3, nb_col=3, init='glorot_uniform',
                       activation='relu', border_mode='same', bias=True)(Upsampling3)
    Reslayer2 = Conv2D(nb_filter=64, nb_row=3, nb_col=3, init='glorot_uniform',
                       activation='relu', border_mode='same', bias=True)(Reslayer1)
    Block1 = merge(inputs=[Reslayer1, Reslayer2], mode='sum')

    Reslayer3 = Conv2D(nb_filter=64, nb_row=3, nb_col=3, init='glorot_uniform',
                       activation='relu', border_mode='same', bias=True)(Block1)
    Reslayer4 = Conv2D(nb_filter=64, nb_row=3, nb_col=3, init='glorot_uniform',
                       activation='relu', border_mode='same', bias=True)(Reslayer3)
    Block2 = merge(inputs=[Reslayer3, Reslayer4], mode='sum')

    # ***************//
    Multi_scale1 = Conv2D(nb_filter=16, nb_row=1, nb_col=1, init='glorot_uniform',
                          activation='relu', border_mode='same', bias=True)(Block2)
    Multi_scale2a = Conv2D(nb_filter=16, nb_row=1, nb_col=1, init='glorot_uniform',
                           activation='relu', border_mode='same', bias=True)(Multi_scale1)
    Multi_scale2b = Conv2D(nb_filter=16, nb_row=3, nb_col=3, init='glorot_uniform',
                           activation='relu', border_mode='same', bias=True)(Multi_scale1)
    Multi_scale2c = Conv2D(nb_filter=16, nb_row=5, nb_col=5, init='glorot_uniform',
                           activation='relu', border_mode='same', bias=True)(Multi_scale1)
    Multi_scale2d = Conv2D(nb_filter=16, nb_row=7, nb_col=7, init='glorot_uniform',
                           activation='relu', border_mode='same', bias=True)(Multi_scale1)
    Multi_scale2 = merge(inputs=[Multi_scale2a, Multi_scale2b, Multi_scale2c, Multi_scale2d], mode='concat')

    out = Conv2D(nb_filter=1, nb_row=1, nb_col=1, init='glorot_uniform',
                 activation='relu', border_mode='same', bias=True)(Multi_scale2)
    model = Model(input=_input, output=out)

    Adam = adam(lr=0.001)
    model.compile(optimizer=Adam, loss='mean_squared_error', metrics=['mean_squared_error'])

    return model
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号