很多时候我们需要随机打乱或者随机生成一些数字,但是对于同一批次产生的数据,我们又希望他们之间保持随机前的对应关系,这个时候就需要使用 np.random.get_state()这个函数。在这之前我考虑过设定随机种子,但是随机多次时,随机种子的数值你还要另行设置,还是不好用。
最近考虑到数据处理的严谨性,我需要确保原始训练集和噪声训练集完全对应,但是训练集本身是需要随机打乱顺序的,这时候就非常适合用np.random.get_state()获取随机状态:
import numpy as np
state = np.random.get_state()
np.random.shuffle(x_train)
np.random.set_state(state)
np.random.shuffle(x_train2)
这样就能保证数据是对齐的。当希望训练样本和标签在随机打乱时也保证对应关系不乱时,也需要这样处理。