我正在使用 keras 的 MNIST 数据集 -
(x_train,y_train),(x_test,y_test)= keras.datasets.mnist.load_data()
在加载数据之前,我该如何打乱这个数据集?
我认为用
keras.datasets.mnist.load_data()
不可能做到这一点。
您有不同的选择:
自行下载数据集并直接从您的文件加载。然后洗牌并分开
使用
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)
根据 x_train、x_test、y_train、y_test 构建数据集。然后重新洗牌并再次分割。
您可以按照张量流的建议使用,
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()))