分割数据集Cats_vs_dogs以使用tf 2.3.0进行训练和评估

时间:2020-10-13 08:39:36

标签: python tensorflow tensorflow2.0 tensorflow-datasets

我尝试使用split函数拆分Cats_vs_dogs数据集,但无法检查它是否有效。当我在train_info和val_info上调用num_example时,我得到的号码是23262。为什么?

    dataset, info = tfds.load('cats_vs_dogs',
                              split='train',
                              shuffle_files=True,
                              as_supervised=True,
                              with_info=True
                              )                                                                                            
    ds_train, train_info = tfds.load(
                            'cats_vs_dogs',
                            split='train[:80%]',
                            shuffle_files=True,
                            as_supervised=True,
                            with_info=True
                            )
    ds_val, val_info= tfds.load(
                        'cats_vs_dogs',
                        split='train[-20%:]',
                        shuffle_files=True,
                        as_supervised=True,
                        with_info=True
                        )

    print(train_info.splits['train'].num_examples)
    print(train_info.splits['train'].num_shards)

我从train_info,info和val_info中获得了23262个示例!

1 个答案:

答案 0 :(得分:1)

所以要从每个拆分中获得示例的数量,我们必须要求 train_info.splits['train[:80%]'].num_examples 和 val_info.splits['train[-20%:]'].num_examples

更适合拆分数据集,使用 tf.keras.preprocessing.image_dataset_from_directory 对我来说效果更好。