使用tensorflow_datasets.load(TF 2.1)拆分训练数据以进行训练和验证

时间:2020-01-25 02:01:55

标签: python tensorflow tensorflow-datasets

我正在尝试运行以下Colab项目,但是当我要将训练数据分为验证和训练部分时,会出现此错误:

KeyError: "Invalid split train[:70%]. Available splits are: ['train']"

我使用以下代码:

(training_set, validation_set), dataset_info = tfds.load(
'tf_flowers',
split=['train[:70%]', 'train[70%:]'],
with_info=True,
as_supervised=True,
)

如何解决此错误?

1 个答案:

答案 0 :(得分:4)

根据Tensorflow Dataset docs,百分比拆分可能为e。 G。 first_10_percent = tfds.Split.TRAIN.subsplit(tfds.percent[:10])

如示例中所示,更改split列表时您的代码将起作用:

(training_set, validation_set), dataset_info = tfds.load(
'tf_flowers',
split=[
       tfds.Split.TRAIN.subsplit(tfds.percent[:70]),
       tfds.Split.TRAIN.subsplit(tfds.percent[70:])
],
with_info=True,
as_supervised=True,
)

使用上述代码,training_set有2590个条目,而validation_set有1080个条目。