gpt4 book ai didi

python - 如何创建 Cifar-10 子集?

转载 作者:行者123 更新时间:2023-12-05 01:12:00 26 4
gpt4 key购买 nike

我想使用较少的训练数据样本来训练深度神经网络,以减少测试我的代码的时间。我想知道如何使用 Keras TensorFlow 对 Cifar-10 数据集进行子集化。我有以下代码用于训练 Cifar-10 完整数据集。

#load and prepare data
if WhichDataSet == 'CIFAR10':
(x_train, y_train), (x_test, y_test) = tensorflow.keras.datasets.cifar10.load_data()
else:
(x_train, y_train), (x_test, y_test) = tensorflow.keras.datasets.cifar100.load_data()
num_classes = np.unique(y_train).shape[0]
K_train = x_train.shape[0]
input_shape = x_train.shape[1:]
x_train = x_train.astype('float32')
x_test = x_test.astype('float32')
y_train = tensorflow.keras.utils.to_categorical(y_train, num_classes)
y_test = tensorflow.keras.utils.to_categorical(y_test, num_classes)

最佳答案

根据标签创建子集

创建不包括少数标签的数据集子集。例如,要创建一个只有前五个类别标签的新训练数据集,您可以使用以下代码

subset_x_train = x_train[np.isin(y_train, [0,1,2,3,4]).flatten()]
subset_y_train = y_train[np.isin(y_train, [0,1,2,3,4]).flatten()]

创建子集而不考虑标签

要创建 10% 的火车数据子集,您可以使用以下代码

# Shuffle first (optional)
idx = np.arange(len(x_train))
np.random.shuffle(idx)

# get first 10% of data
subset_x_train = x_train[:int(.10*len(idx))]
subset_y_train = y_train[:int(.10*len(idx))]

x_testy_test 重复相同的操作以获得测试数据的子集。

关于python - 如何创建 Cifar-10 子集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62547807/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com