2017-07-25 6 views
1

Gibt es eine Möglichkeit, den "Zustand" des Zufallsgenerators in einem Jupiter-Notebook zu lesen?Ein zufälliges Seed eines Jupyter-Notebooks lesen

Zum Beispiel, wenn ich eine Zelle ausgeführt habe, wo ich eine neuronale Netzwerkarchitektur angeben, und dann auf einige Daten trainieren, ohne einen Seed anzugeben, gibt es eine Möglichkeit, wie kann ich dann lesen, welcher Seed verwendet wurde?

+1

Soweit ich weiß, du kannst Am einfachsten ist es, den Samen vor dem Training zu setzen, damit man den Samen kennt. [Hier] (https://stackoverflow.com/questions/32172054/how-can-i-retrieve-the-current-seed-of-numpys-random-number-generator) eine ähnliche Frage – gionni

Antwort

1

können Sie in der Tat lesen (und zu speichern) die aktuellen Zustand des RNG, aber das ändert sich jedes Mal, es verwendet wird, das heißt sie können nicht tun, was Sie beschreiben nach Sie die Zelle ausgeführt haben.

Hier ist ein Beispiel (da Sie die Frage mit keras markiert haben, ich nehme an, Sie in den Numpy RNG tatsächlich interessiert sind, die das in Keras verwendet wird):

import numpy as np 
current_state = np.random.get_state() 

# produce some random numbers: 
a = np.random.randn(3) 
a 
# array([-0.44270351, 1.42933504, 2.11385353]) 

# Now, restoring the RNG state and producing again 3 random numbers, you get the same result: 

np.random.set_state(current_state) 
b = np.random.randn(3) 
b 
# array([-0.44270351, 1.42933504, 2.11385353]) 
a == b 
# array([ True, True, True], dtype=bool)