Autoencoder, steps_per_epoch, какое значение он должен содержать? - PullRequest
0 голосов
/ 02 февраля 2019

Я пытаюсь создать составной авто-кодер со своим собственным набором данных, все работает отлично, когда я пытаюсь нарисовать кривую с помощью тензорной доски, я получаю следующие скаляры:

enter image description here

Я думаю, что ошибка в steps_per_epoch, если это не X_train.shape [0], так что же он может содержать:

autoencoder.fit_generator(generated_data.flow(X_train, X_train, batch_size=batch_size), steps_per_epoch=X_train.shape[0], epochs=epochs, validation_data=(X_test, X_test), callbacks=[TensorBoard(log_dir='/tmp/autoencoder')])

и другие вещи, как я могу добавить точность?

1 Ответ

0 голосов
/ 02 февраля 2019

Из документации fit_generator

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

Таким образом, вы должны установить его примерно равным X_train.shape[0]/batch_size

. Для контроля точности используйте

autoencoder.compile(optimizer='rmsprop', loss='mse', metrics=['mse', 'accuracy'])
...