如何打乱使用 Keras 加载的 MNIST 数据?

问题描述 投票:0回答:2

我正在使用 keras 的 MNIST 数据集 -

(x_train,y_train),(x_test,y_test)= keras.datasets.mnist.load_data()

在加载数据之前,我该如何打乱这个数据集?

keras mnist
2个回答
2
投票

我认为用

keras.datasets.mnist.load_data()
不可能做到这一点。

您有不同的选择:

  1. 自行下载数据集并直接从您的文件加载。然后洗牌并分开

  2. 使用

    tensorflow_datasets
    。您可以使用
    pip install tensorflow-datasets
    安装它。这是导入声明:
    import tensorflow_datasets as tfds

    (df_train,df_test) = tfds.load('mnist',split=['train','test'],shuffle_files=True,  as_supervised=True)

  3. 根据 x_train、x_test、y_train、y_test 构建数据集。然后重新洗牌并再次分割。


0
投票

您可以按照张量流的建议使用,

import tensorflow as tf
import tensorflow_datasets as tfds 
(ds_train, ds_test), ds_info = tfds.load(
    'mnist',
    split=['train', 'test'],
    shuffle_files=True,
    as_supervised=True,
    with_info=True,
) 

我不确定,但你可以使用它并转换为 numpy,如下所示:

    import numpy as np
    ds_test_np = np.array(list(ds_test.as_numpy_iterator()))
    ds_train_np = np.array(list(ds_train.as_numpy_iterator()))
© www.soinside.com 2019 - 2024. All rights reserved.