拆分数据集 Cats_vs_dogs 以使用 tf 2.3.0 进行训练和验证
Split dataset Cats_vs_dogs to train and val with tf 2.3.0
我尝试使用拆分函数拆分 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)
print(val_info.splits['train'].num_examples)
print(val_info.splits['train'].num_shards)
我从 train_info、信息和 val_info 获得了 23262 个示例!
所以要从每个拆分中获取示例的数量,我们必须要求
train_info.splits['train[:80%]'].num_examples
和
val_info.splits['train[-20%:]'].num_examples
更好地拆分数据集,使用 tf.keras.preprocessing.image_dataset_from_directory 对我来说效果更好。
我尝试使用拆分函数拆分 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)
print(val_info.splits['train'].num_examples)
print(val_info.splits['train'].num_shards)
我从 train_info、信息和 val_info 获得了 23262 个示例!
所以要从每个拆分中获取示例的数量,我们必须要求 train_info.splits['train[:80%]'].num_examples 和 val_info.splits['train[-20%:]'].num_examples
更好地拆分数据集,使用 tf.keras.preprocessing.image_dataset_from_directory 对我来说效果更好。