Изменение списка тензоров в Керасе - PullRequest
0 голосов
/ 11 июня 2019

Как передать ввод в конкатенационный слой, например, когда он передается в слой TimeDistributed, я должен получить выходную форму (Нет, 1, 1536) вместо (Нет, 32, 1536)?

input_shape = (32, 32, 32, 4)
cnn_count = 5

def create_cnn_lstm_model():

    model = create_shared_weight_cnn()

    for i in range(cnn_count):
        temp_name_input = 'input_' + str(i)
        globals()[temp_name_input] = Input(shape=input_shape)

    combined_input = []
    for i in range(cnn_count):
        temp_name_input = 'input_' + str(i)
        combined_input.append(globals()[temp_name_input])

    seq = concatenate(combined_input)
    out = TimeDistributed(Lambda(lambda x: model(combined_input)))(seq)
    out = LSTM(512)(out)
    out = Dense(4, activation='softmax')(out)

    cnn_lstm = Model(inputs=combined_input, outputs=out)

    return cnn_lstm
...