Призывает ли керас «подгоняться» несколько раз так же, как перемешиваются данные тренировки? - PullRequest
0 голосов
/ 16 апреля 2019

Я тренирую модель на некоторых данных (используя keras ), вызывая функцию keras fit, с помощью epochs=100, shuffle=True. Я хочу вызвать функцию fit 10 раз и вычислить среднюю точность проверки для каждой эпохи за 10 прогонов.

Я надеюсь, что каждый вызов fit будет начинаться с данных обучения в другом порядке и по-разному перемешивать данные в разные эпохи. Это действительно происходит?

(Если нет, то бессмысленно звонить fit 10 раз, поскольку каждый раз он будет тренироваться на идентично упорядоченных данных.)

1 Ответ

0 голосов
/ 16 апреля 2019

Как правило, для получения воспроизводимых результатов с кератами вам нужно будет установить одно и то же случайное начальное число перед каждым экспериментом. Предполагая, что вы используете бэкэнд тензор потока:

from numpy.random import seed
seed(1234)
from tensorflow import set_random_seed
set_random_seed(5678)

Если теперь вы хотите различное случайное поведение между экспериментами, вы можете явно установить разные случайные начальные числа. Что касается случайности пакетного перемешивания в функции подгонки, то должно быть достаточно каждый раз по-разному выставлять случайное начальное число, поскольку keras использует np.random.shuffle () для перемешивания.

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