gpt4 book ai didi

tensorflow - 如何更改用于在 tensorflow2.0 中进行训练和评估的图像数量?

转载 作者:行者123 更新时间:2023-12-01 07:38:16 25 4
gpt4 key购买 nike

Fashion-MNIST 数据集自动返回 60,000 张图像用于训练和 10,000 张图像用于评估。我如何更改这些数字?

这是我的 colab 源代码和相关部分是:

fashion_mnist = keras.datasets.fashion_mnist

(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()

最佳答案

1. Tensorflow 数据集

TF2.0建议使用 tf.data API 与 tf.keras . tf.data.Dataset作为上述的一部分,您可以通过 map 轻松地对数据进行各种操作,例如图像增强(例如旋转/移位)调用(您可以找到其他可能性 in the documentation )。

Tensorflow Datasets是 Tensorflow 生态系统的一部分,可以让您更轻松地下载数据(存在各种现成的数据集, 包括 Fashion MNIST see here 用于可用选项)并在 tf.data.Dataset 中获取它已经形成。

使用这个片段:

import tensorflow_datasets as tfds

train, test = tfds.load("fashion_mnist", as_supervised=True)

会下载数据并自动分割成 testtrain (与 Keras 等价物相同,但数据类型除外)。

您可以创建自己的数据集构建器,但通常调用 tfds.load对于标准操作就足够了。

自定义拆分

现在,如果您想要不同的拆分(不是默认的 60000 训练和 10000 测试),您可以使用 tfds.Split 定义它目的。默认情况下,每个提供的数据集(因此包含您的 Fashion MNIST)提供默认 tfds.Split.TRAINtfds.Split.TEST (有些也提供 tfds.Split.VALID)。

这些默认拆分可以通过各种方式进一步划分为子部分:

拆分其中之一 TESTTRAIN进入 N部分。下面的代码只会从 TRAIN 下载 30.000 张图像,从测试下载 5.000 张图像:
import tensorflow_datasets as tfds

train_half_1, train_half_2 = tfds.Split.TRAIN.subsplit(2)
test1, test2, test3, test4 = tfds.Split.TEST.subsplit(4)

train_first_half = tfds.load("fashion-mnist", split=train_half_1)
test_second_quarter = tfds.load("fashion-mnist", split=test2)

类似的方法你可以拿 N每个拆分的百分比:
first_10_percent = tfds.Split.TRAIN.subsplit(tfds.percent[:10])

或者您甚至可以组合拆分以获得更多这样的数据(您可以进一步拆分这些数据,但您喜欢:
train_and_test = tfds.Split.TRAIN + tfds.Split.TEST

2. 凯拉斯

Keras 在 numpy 中加载数据格式,尽管不建议并且不允许使用简单的 map 执行许多操作你可以使用 standard Python's slicing notation 来分割它们:
import tensorflow as tf

fashion_mnist = tf.keras.datasets.fashion_mnist

(X_train, y_train), (X_test, y_test) = fashion_mnist.load_data()

# First 10.000 elements from train
X_train_subset = X_train[:10000]

# Elements from 1000 to 5000 from test labels
y_test_subset = y_test[1000:5000]

# Elements from 8500 to the end of test data
X_test_subset = X_test[8500:]

另一方面,使用 numpy 可能会方便得多。数组而不是 tf.data.Dataset对于某些应用程序(尤其是非标准应用程序),因此选择权在您。

关于tensorflow - 如何更改用于在 tensorflow2.0 中进行训练和评估的图像数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55894691/

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