【发布时间】:2022-10-13 18:44:20
【问题描述】:
我正在使用来自 keras 的 MNIST 数据集 -
(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()
在加载数据之前,我该如何打乱这个数据集?
【问题讨论】:
我正在使用来自 keras 的 MNIST 数据集 -
(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()
在加载数据之前,我该如何打乱这个数据集?
【问题讨论】:
我认为keras.datasets.mnist.load_data() 不可能做到这一点。
你有不同的选择:
自己下载数据集并直接从文件中加载。然后洗牌并拆分
使用tensorflow_datasets。例子:import tensorflow_dataset as tfds
(df_train,df_test)=tfds.load('minst',split=['train','test'],shuffle_files=True, as_supervised=True)
从您的 x_train、x_test、y_train、y_test 构建数据集。然后重新洗牌并再次拆分。
【讨论】:
import tensorflow_datasets as tfds。
您可以按照 tensorflow 的建议使用,
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()))
【讨论】: