我有一个很大的(35GB)numpy memmap数组。
我可以采取哪些方式比np.random.shuffle更快地进行洗牌?
我正在开发一个利用机器学习方法的项目。我正在尝试改组输入,看它是否会改善我的模型。我的训练数据集的形式是111222333444(标签),而测试数据集通常类似于2234331122(标签)。
对于"更好的方法"的尝试,我尝试对测试数据集进行排序,但它需要花费太多时间(排序,测试,回到原始形式)。在ML中,测试模型的时间远比训练模型重要。
我尝试过随机抽样,它比洗牌更快。洗牌大约需要4个小时,随机抽样开销大约需要3.5个小时。我要去洗牌的原因是我的模型必须在GPU服务器上运行,我与几位同事共享GPU服务器。 Shuffling不是GPU密集型的,所以我可以在我的个人桌面上这样做。
我使用tensorflow。输入尺寸为(450,000 * 4)* 33 * 33 * 4(N * 90度旋转* W * H *通道)。