cnnlstm.py 文件源码

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

项目:LSTM-GRU-CNN-MLP 作者: ansleliu 项目源码 文件源码
def build_model():
    model = Sequential()

    # ???????4????
    model.add(Convolution2D(8, 5, 5, border_mode='valid', dim_ordering='th', input_shape=(1, 20, 20)))
    model.add(ZeroPadding2D((1, 1)))
    model.add(GaussianNoise(0.001))
    model.add(Activation('tanh'))
    model.add(MaxPooling2D(pool_size=(2, 2), dim_ordering='th'))
    model.add(Activation('tanh'))

    # ???????8?????
    # model.add(GaussianNoise(0.001))
    # model.add(UpSampling2D(size=(2, 2), dim_ordering='th'))
    model.add(AtrousConvolution2D(16, 3, 3, border_mode='valid', dim_ordering='th'))
    # model.add(ZeroPadding2D((1, 1)))
    model.add(Activation('tanh'))
    # model.add(MaxPooling2D(pool_size=(2, 2), dim_ordering='th'))
    # model.add(Activation('tanh'))

    # ??????????????????flatten????
    model.add(Flatten())
    model.add(Dense(20))
    model.add(Activation('tanh'))

    # LSTM ?
    model.add(Reshape((20, 1)))
    model.add(LSTM(input_dim=1, output_dim=32, activation='tanh', inner_activation='tanh', return_sequences=True))
    model.add(GaussianNoise(0.01))
    model.add(LSTM(64, activation='tanh', inner_activation='tanh', return_sequences=False))
    model.add(Dropout(0.2))  # Dropout overfitting

    model.add(Dense(1))
    model.add(Activation('linear'))

    start = time.time()

    # ??SGD + momentum
    # model.compile????loss??????(????)
    # sgd = SGD(lr=0.08, decay=1e-6, momentum=0.9, nesterov=True)
    # model.compile(loss="mse", optimizer=sgd)
    model.compile(loss="mse", optimizer="Nadam") # Nadam # rmsprop
    print "Compilation Time : ", time.time() - start
    return model
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号