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

发布于 2021-01-29 14:56:54

我正在尝试运行以下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,
)

如何解决此错误?

关注者
0
被浏览
104
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    根据Tensorflow Dataset
    docs
    ,百分比拆分是可能的,例如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个。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看