转自https://blog.csdn.net/Strive_For_Future/article/details/81210907
state = np.random.get_state()
功能:获取随机生成器 np.random的状态
作用:常与np.random.set_state() 搭配使用。使随机生成器random保持相同的状态(state)
备注:具有相同state的随机生成器(random)的随机效果相同。随机生成器random,每执行一次,random的状态(state)就会变化一次,所以每次产生的随机数都不同,或随机操作的效果都不同。而当random的状态(state)不变时,多次执行random的同一操作具有相同的效果。
示例1:通过设置相同的state,使得两次生成的随机数相同
import numpy as npstate = np.random.get_state()
chance = np.random.randint(100)
np.random.set_state(state)
chance2 = np.random.randint(100)print(chance,chance2)
示例2:通过设置相同的state,使得random.shuffle以相同的规律打乱两个列表,进而使得两个列表被打乱后,仍旧能维持两个列表间元素的一一对应关系。这一点在深度学习的标注数据集的打乱的过程中很有用。一一对应的image_list 与label_list,在分别打乱后,仍能维持一一对应的关系。
import numpy as npimages_list=[1,2,3,4,5,6,7,8,9]
labels_list=[1,2,3,4,5,6,7,8,9]state = np.random.get_state()
np.random.shuffle(images_list)
np.random.set_state(state)
np.random.shuffle(labels_list)print(images_list)
print(labels_list)