Неправильная строка кода:
np.random.seed(seed=int(time.time()))
Поскольку вы выполняете цикл, который завершается довольно быстро, вызов int()
в это время уменьшает случайное начальное число до того же числа для всего цикла,Если вы действительно хотите вручную установить начальное число, следующий подход является более надежным.
def create_train_data():
a_int = np.random.randint(largest_number/2) # int version
return a
np.random.seed(seed=int(time.time()))
for j in range(timesteps):
c = create_train_data()
Обратите внимание, как начальное число создается один раз, а затем используется для всего цикла, так что каждый раз случайное целое числоназывается начальным изменением без сброса.
Обратите внимание, что numpy уже заботится о псевдослучайном начальном числе.Вы не получите больше случайных результатов, используя его.Распространенной причиной для ручной настройки семян является обеспечение воспроизводимости.Вы устанавливаете начальное число в начале вашей программы (верхняя часть вашей записной книжки) на некоторое фиксированное целое число (я вижу 42 во многих руководствах), и затем все вычисления следуют из этого начального числа.Если кто-то хочет проверить ваши результаты, стохастичность алгоритмов не может быть мешающим фактором.