Почему моя модель дает разные результаты каждый раз, когда я ее тренирую? - PullRequest
0 голосов
/ 25 июня 2019

Мой вопрос: почему, когда я тренирую один и тот же алгоритм дважды, он дает разные результаты каждый раз, когда я тренирую его? Это нормально или может быть проблема с данными или кодом?

Алгоритм: deep deterministic policy gradient.

Ответы [ 2 ]

3 голосов
/ 25 июня 2019

Это абсолютно нормально. Нет проблем ни с данными, ни с кодом.

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

import numpy as np
np.random.seed(42)

Узнайте больше об этом из здесь .

2 голосов
/ 25 июня 2019

Когда вы инициализируете весовые коэффициенты для вашей модели, они часто инициализируются случайным образом тем, что вы используете, скорее всего, np.random.rand (), и, следовательно, каждый раз выдают разные результаты.

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

Редактировать: я видел, что вы использовали tenorflow, в этом случае:

tf.random.set_random_seed(10)
...