读取 jupyter notebook 的随机种子

Reading a random seed of a jupyter notebook

有没有办法在 jupyter notebook 中读取 运行dom 数字生成器的 "state"?

例如,如果我 运行 一个指定神经网络架构的单元格,然后在不指定种子的情况下用一些数据对其进行训练,有没有办法让我可以读取什么种子用于运行这个?

您确实可以读取(和存储)RNG 的 当前 状态,但每次使用时都会发生变化,即您不能按照您描述的那样做 之后你有 运行 单元格。

这是一个例子(因为你用 keras 标记了问题,我假设你实际上对 Numpy RNG 感兴趣,这是 Keras 中使用的那个):

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)