我是tensorflow的新手,已经开始使用tensorflow 2.0
我已经为多类分类问题建立了一个张流数据集。让我们称之为labeled_ds
。我已经准备好了这个数据集,从它们各自的类目录中加载所有的图像文件。我已经沿着这里的教程:tensorflow guide to load image dataset
现在,我需要将labeld_ds
拆分为三个不相交的部分:训练、验证和测试。我正在浏览tensorflow API,但没有允许指定分割百分比的示例。我在load method中找到了一些东西,但我不确定如何使用它。此外,我如何使分割分层?
# 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"])
我被困在这里,希望能得到任何关于如何从这里进步的建议。提前感谢。
4条答案
按热度按时间gtlvzcf81#
请参考以下代码,使用tensorflow 数据集“oxford_flowers102”创建训练、测试和验证拆分
ou6hu8tu2#
我有same problem
这取决于数据集,大多数数据集都有训练集和测试集。在这种情况下,您可以执行以下操作(假设80-10-10拆分):
w8f9ii693#
vuktfyat4#
导入tensorflow 数据集:
将tensorflow_datasets导入为tfd
MNIST_info用于在加载MNIST数据集后保存MNIST数据集:
MNIST数据集,MNIST信息= tfds.加载(名称=“MNIST”,信息=真,监督=真)
将MNIST数据集分为两部分,训练和测试数据集:
MNIST_train,MNIST_test = MNIST_数据集[“train”],MNIST_数据集[“test”]
验证样本数=0.1*MNIST信息拆分[“列车”].示例数
(分配10%的训练数据集以创建确认数据集。)
一旦创建了验证数据集,我们就可以将样本转换为整数。
验证样本数= tf.cast(验证样本数,tf.int64)
同样,我们以类似的方式创建了测试样本,
测试样本数= MNIST信息.拆分[“测试”].示例数
测试样本数= tf.cast(测试样本数,tf.int64)
训练样本数= 0.8*MNIST信息拆分[“训练”].示例数
(从测试数据集中分配80%用于创建训练数据集。)
训练样本数= tf.cast(训练样本数,tf.int64)
希望这已经回答了您的问题🙂👍