Как получить восстанавливаемые результаты в крисе

Я получаю различные результаты (тестовая точность) каждый раз, когда я работаю imdb_lstm.py пример от платформы Keras (https://github.com/fchollet/keras/blob/master/examples/imdb_lstm.py) код содержит np.random.seed(1337) в вершине, перед любым импортом криса. Это должно препятствовать тому, чтобы он генерировал различные числа для каждого выполнения. Что я пропускаю?

ОБНОВЛЕНИЕ: Как к репродукции:

  1. Установите Keras (http://keras.io/)
  2. Выполните https://github.com/fchollet/keras/blob/master/examples/imdb_lstm.py несколько раз. Это обучит модель и произведет тестовую точность.
    Ожидаемый результат: Тестовая точность является тем же на каждом выполнении.
    Фактический результат: Тестовая точность отличается на каждом выполнении.

UPDATE2: я выполняю его в Windows 8.1 с MinGW/msys, версиями модуля:
theano 0.7.0
numpy 1.8.1
scipy 0.14.0c1

UPDATE3: Я сузил проблему немного. Если я работаю, пример с GPU (установите флаг theano device=gpu0), затем, я получаю другую тестовую точность каждый раз, но если я выполняю его на ЦП затем, все работает как ожидалось. Моя видеокарта: NVIDIA GEFORCE GT 635)

62
задан 15 September 2015 в 21:04

1 ответ

Это работает на меня:

SEED = 123456
import os
import random as rn
import numpy as np
from tensorflow import set_random_seed

os.environ['PYTHONHASHSEED']=str(SEED)
np.random.seed(SEED)
set_random_seed(SEED)
rn.seed(SEED)
1
ответ дан 31 October 2019 в 14:31

Другие вопросы по тегам:

Похожие вопросы: