gpt4 book ai didi

python - 如何在 tensorflow 2.0 中创建训练、测试和验证拆分

转载 作者:行者123 更新时间:2023-12-03 19:23:40 26 4
gpt4 key购买 nike

我是 tensorflow 的新手,我已经开始使用 tensorflow 2.0

我为多类分类问题构建了一个 tensorflow 数据集。让我们称之为 labeled_ds .我通过从它们各自的类目录中加载所有图像文件来准备这个数据集。我遵循了这里的教程:tensorflow guide to load image dataset

现在,我需要拆分 labeld_ds分为三个不相交的部分:训练、验证和测试。我正在浏览 tensorflow API,但没有允许指定拆分百分比的示例。我在 load method 中找到了一些东西,但我不确定如何使用它。此外,我怎样才能得到要分层的 split ?

# labeled_ds contains multi class data, which is unbalanced.
train_ds, val_ds, test_ds = tf.data.Dataset.tfds.load(labeled_ds, split=["train", "validation", "test"])

我被困在这里,希望得到有关如何从这里取得进展的任何建议。提前致谢。

最佳答案

请引用以下代码使用 tensorflow 数据集“oxford_flowers102”创建训练、测试和验证分割

!pip install tensorflow==2.0.0

import tensorflow as tf
print(tf.__version__)
import tensorflow_datasets as tfds

labeled_ds, summary = tfds.load('oxford_flowers102', split='train+test+validation', with_info=True)

labeled_all_length = [i for i,_ in enumerate(labeled_ds)][-1] + 1

train_size = int(0.8 * labeled_all_length)
val_test_size = int(0.1 * labeled_all_length)

df_train = labeled_ds.take(train_size)
df_test = labeled_ds.skip(train_size)
df_val = df_test.skip(val_test_size)
df_test = df_test.take(val_test_size)

df_train_length = [i for i,_ in enumerate(df_train)][-1] + 1
df_val_length = [i for i,_ in enumerate(df_val)][-1] + 1
df_test_length = [i for i,_ in enumerate(df_test)][-1] + 1

print('Original: ', labeled_all_length)
print('Train: ', df_train_length)
print('Validation :', df_val_length)
print('Test :', df_test_length)

关于python - 如何在 tensorflow 2.0 中创建训练、测试和验证拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58402973/

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