Передача обучения с Tensorflow (Mobil eNet) - PullRequest
1 голос
/ 23 апреля 2020

В обучении переносу, я думаю, мой model.fit_generator входит в бесконечное число l oop. Я не знаю, как. Вот моя ссылка на блокнот Colab https://colab.research.google.com/drive/1o9GNCQdMeh4HZdiZ5QAjiDDkixn-OsXx

Вот изображение model.fit_generator

1 Ответ

0 голосов
/ 23 апреля 2020

Если вы обновите последнюю строку следующим образом, это займет около 40 секунд в течение 5 эпох.

от

model.fit_generator(train_generator, epochs=5, validation_data=valid_generator)

до

model.fit_generator(train_generator, epochs=5, steps_per_epoch=len(train_generator), validation_data=valid_generator, validation_steps=len(valid_generator))

Пожалуйста, проверьте описание того, что ожидается, когда вход для model.fit является генератором. Поэтому, когда значение «steps_per_epoch» равно None, эпоха будет работать до тех пор, пока не будет исчерпан входной набор данных. Таким образом, генератор работает бесконечно, если ваш набор данных является бесконечно повторяющимся набором данных.

steps_per_epoch: Integer или None. Общее количество шагов (партий образцов) до объявления одной эпохи законченной и начала следующей эпохи. При обучении с использованием входных тензоров, таких как тензоры данных TensorFlow, значение по умолчанию None равно количеству выборок в вашем наборе данных, деленному на размер пакета, или 1, если это невозможно определить. Если x - это набор данных tf.data, а 'steps_per_epoch' - None, эпоха будет работать до тех пор, пока не будет исчерпан входной набор данных. При передаче бесконечно повторяющегося набора данных вы должны указать аргумент steps_per_epoch. Этот аргумент не поддерживается для входных данных массива.

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