2017-10-23 4 views
0

Ich möchte mein Ergebnis reproduzieren, ich die folgenden Zeilen verwendet, um die Zufälligkeit
Import numpy als np np.random.seed (1) Import tensorflow als tf tf.set_random_seed (1)tf.set_random_seed scheint nicht funktioniert, gibt es keinen besseren Weg, Tensorflow-Code reproduzierbar zu machen?

Aber zu beheben Ich bekomme immer noch andere Ergebnisse bei jedem Lauf. irgendeine Idee, wie zu beheben?

+0

Können Sie ein kurzes Beispielprogramm teilen, in dem Sie nicht reproduzierbare Ergebnisse erhalten? – mrry

Antwort

0

Sie müssen auch den Startwert für jede Operation festlegen, die Zufallszahlen verwendet.

Tensorflow hat zwei verschiedene Seeds: den Seed-Wert des Graph-Levels und den Sevd der Operation.

Zum Beispiel muss tf.truncated_normal sowohl die grafische Darstellung Samt haben (die Sie mit tf.set_random_seed(1) gesetzt) ​​und dem Betrieb Samen (die seed Parameter) saßen, um reproducibile zu sein.

+0

Danke für die Antwort, aber ich bin immer noch verwirrt, ist nicht die Operation Teil des Graphen? Die Einstellung von tf.set_random_seed (1) vor der Initialisierung des Graphen reicht nicht aus? –

+0

Tensorflow hat 2 verschiedene Samen, daher reicht es nicht, nur eine davon zu setzen. Sie müssen für jede einzelne Operation, die Zufallszahlen verwendet, sowohl den Seed-Wert auf Diagrammebene als auch den Seed-Wert auf Op-Ebene festlegen – nessuno

Verwandte Themen