创建自己的 TensorFlow Datasets (TFDS) 格式的数据集是一个多步骤的过程,涉及到定义数据集的结构、编写数据加载代码以及测试。以下是创建自定义 TFDS 数据集的基本步骤:
首先,确保安装了 TensorFlow Datasets。如果还没有安装,可以通过 pip 安装:
pip install tensorflow-datasets
TFDS 数据集是通过 Python 脚本定义的,这些脚本指定了如何下载和解析数据,以及如何将数据组织成标准格式。
my_dataset
,可以创建如下目录:tensorflow_datasets/image/my_dataset
my_dataset.py
。这个文件将包含数据集的定义,包括下载数据、解析数据和定义特征。
下面是一个简单的例子:import tensorflow_datasets as tfds class MyDataset(tfds.core.GeneratorBasedBuilder): """示例数据集。""" VERSION = tfds.core.Version('1.0.0') def _info(self): return tfds.core.DatasetInfo( builder=self, description=("描述你的数据集。"), features=tfds.features.FeaturesDict({ "image": tfds.features.Image(), "label": tfds.features.ClassLabel(names=["no", "yes"]), }), supervised_keys=("image", "label"), ) def _split_generators(self, dl_manager): """返回数据集的 SplitGenerators。""" # 假设数据已经下载到路径 `path_to_manual_dir` return [ tfds.core.SplitGenerator( name=tfds.Split.TRAIN, gen_kwargs={"filepath": "path_to_train_data"}, ), tfds.core.SplitGenerator( name=tfds.Split.TEST, gen_kwargs={"filepath": "path_to_test_data"}, ), ] def _generate_examples(self, filepath): """生成示例数据。""" for img_path, label in _extract_images_and_labels(filepath): yield img_path, { "image": img_path, "label": label, }
在这个脚本中,你需要定义 _info()
, _split_generators()
和 _generate_examples()
方法。
在开发过程中,你可以使用 tfds build
命令来测试和构建数据集:
tfds build --data_dir=/path/to/data_dir --register_checksums
这个命令会处理数据集的下载、预处理和保存等步骤。
一旦数据集构建完成,你可以通过 TensorFlow Datasets API 加载数据集:
import tensorflow_datasets as tfds
ds = tfds.load('my_dataset', split='train', shuffle_files=True)
for example in ds.take(1):
image, label = example["image"], example["label"]
领取专属 10元无门槛券
手把手带您无忧上云