如何对使用Keras加载的MNIST数据进行洗牌?

f1tvaqid  于 2022-11-13  发布在  其他
关注(0)|答案(2)|浏览(182)

我使用来自keras的MNIST数据集-
(x_训练,y_训练),(x_测试,y_测试)=角增量.数据集.mnist.加载数据()
在加载数据之前,如何对该数据集进行洗牌?

ohfgkhjo

ohfgkhjo1#

我认为用keras.datasets.mnist.load_data()不可能做到这一点。
您有不同的选项:
1.自己下载数据集并直接从文件中加载它。
1.使用tensorflow_datasets。示例:
import tensorflow_dataset as tfds
(df_train,df_test)=tfds.load('minst',split=['train','test'],shuffle_files=True, as_supervised=True)
1.从x_train,x_test,y_train,y_test构建一个数据集,然后重新洗牌并拆分。

efzxgjgh

efzxgjgh2#

你可以用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()))

相关问题