Форма веса слоя (474, 60) не совместима с имеющейся формой веса (474, 120) - PullRequest
0 голосов
/ 10 декабря 2018

У меня есть сеть со следующими характеристиками:

Layer (type)                 Output Shape              Param #
input_38 (InputLayer)        (None, 474)               0
dense_149 (Dense)            (None, 120)               57000
dense_150 (Dense)            (None, 120)               14520
dropout_38 (Dropout)         (None, 120)               0
dense_151 (Dense)            (None, 120)               14520
dense_152 (Dense)            (None, 1)                 121

Теперь я тренирую модель и сохраняю веса первых 2 плотных слоев, используя:

reshaped_weights1 = model.layers[1].get_weights()
reshaped_weights2 = model.layers[2].get_weights()

и пытается использовать эти веса в другой модели (точная настройка) с такой же структурой, как указано выше, но с подмножеством данных, используемых для обучения первой модели.Модель выглядит следующим образом:

def createModelHelper1(dropoutRate = 0.0, numNeurons=40, optimizer = 'adam', numNeuronsFirstTwo=40):
    inputLayer = Input(shape=(data.shape[1],))
    denseLayer1 = Dense(numNeuronsFirstTwo, kernel_regularizer=l2(0.001))(inputLayer)
    denseLayer2 = Dense(numNeuronsFirstTwo, kernel_regularizer=l2(0.001))(denseLayer1)
    dropoutLayer = Dropout(dropoutRate)(denseLayer2)
    denseLayer3 = Dense(numNeurons, kernel_regularizer=l2(0.001))(dropoutLayer)
    outputLayer = Dense(1, activation='sigmoid')(denseLayer3)

    model = Model(input=inputLayer, output=outputLayer)
    model.layers[1].set_weights(reshaped_weights1) #ERROR
    model.layers[1].trainable = False #freezing the layer

    model.layers[2].set_weights(reshaped_weights2) 
    model.layers[2].trainable = False #freezing the layer

    model.compile(loss='binary_crossentropy', optimizer=optimizer)
    return model

Я получаю сообщение об ошибке, в котором говорится:

The weight shape (474,60) not compatible with provided weight shape (474, 120).

Что я здесь не так делаю?Структура абсолютно одинакова для обеих моделей?Заранее большое спасибо!

...