fit_generator ожидает ввода для всех слоев нейронной сети? - PullRequest
0 голосов
/ 24 января 2020

Newi sh Керасу и построение нейронного net с двумя плотными слоями. В памяти слишком много данных, поэтому я использую функцию fit_generator, но получаю ошибку ValueError: No data provided for "dense_2". Need data for each key in: ['dense_2']. Небольшой пример ниже:

from keras.models import Sequential
from keras.layers import Dense
import numpy as np

model = Sequential([
    Dense(100, input_shape=(1924800,), activation='relu'),
    Dense(1, activation='sigmoid')
])

model.compile(optimizer='rmsprop', loss='binary_crossentropy', metrics=['accuracy'])

def generate_arrays_from_files(path, batch_size=50):
    while True:
        # Do things....
        yield ({'dense_1_input': np.asarray(outdata)}, {'output': np.asarray(outlabels)})

model.fit_generator(generate_arrays_from_files(path), steps_per_epoch=5, epochs=10)

Редактировать: забыл строку компиляции

1 Ответ

0 голосов
/ 24 января 2020

Вам не нужно указывать слой на входе, и вам, очевидно, не нужно будет передавать данные на второй плотный слой. Обратите внимание, что лучше использовать генератор Keras, вы можете создать собственный, например this или , использовать стандартный .

Вам также необходимо скомпилировать модель.

from keras.models import Sequential
from keras.layers import Dense
import numpy as np

model = Sequential([
    Dense(100, input_shape=(1924800,), activation='relu'),
    Dense(1, activation='sigmoid')
])

optimizer = keras.optimizers.Adam(lr=1e-3)
model.compile(loss='binary_crossentropy',
              optimizer=optimizer,
              metrics=['accuracy'])

def generate_arrays_from_files(path, batch_size=50):
    while True:
        # Do things....
        yield np.asarray(outdata), np.asarray(outlabels)

model.fit_generator(generate_arrays_from_files(path), steps_per_epoch=5, epochs=10)

Это нормально, кстати, вектор модели (1924800,) для модели?

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