Модель Keras не обновляет вес - PullRequest
1 голос
/ 15 апреля 2020

Я пытаюсь создать простую нейронную сеть с Keras, но мои веса не будут обновляться после вызова fit ()

Чтобы протестировать модель, я создал простой набор данных, названный mem. mem - это набор кортежей. mem [i] [0] дает np.array размера inp_len, состоящий только из одних или только нулей.

Вот мой код:

inp_len = 5*3 + 3187*4
model = Sequential()
model.add(Dense(units=124, kernel_initializer='ones', input_shape = (inp_len,)))
model.add(LeakyReLU(alpha=0.05))
model.add(Dense(48, kernel_initializer='ones'))
model.add(LeakyReLU(alpha=0.05))
model.add(Dense(48, kernel_initializer='ones'))
model.add(LeakyReLU(alpha=0.05))
model.add(Dense(48, kernel_initializer='ones'))
model.add(LeakyReLU(alpha=0.05))
model.add(Dense(1, activation = 'sigmoid'))
model.compile(loss='binary_crossentropy', optimizer=Adam(lr=learning_rate, decay=learning_rate_decay))

batch_size = 20
batch_old = random.sample(mem, min(len(mem), batch_size))
for i_batch in range(len(batch_old)):
    X = batch_old[i_batch][0].reshape(1,inp_len)
    y = np.array([[X[0]]])
    model.fit(X, y, epochs = 1, batch_size = 1)

Я использую 1 эпоху и с партией размер 1, потому что я хочу использовать model.predict() в другой части кода с другим размером пакета.

Может кто-нибудь объяснить, почему model.get_weights()[0] продолжает возвращать единицы после подгонки модели?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...