一、模型:tensorflow_datasets
tensorflow_datasets(tfds) 定义为用TensorFlow的一个数据集。
每个数据集被定义为一个 tfds.core.DatesetBuilder,这个tfds.core.DatesetBuilder包裹着logic下载数据集,和构建了一个输入管道,以及包含了数据集文件。
主要的库包括:
~tfds.builder: 取一个 tfds.core.DatasetBuilder
~tfds.load: 一个方便的方法去构建一个builder,下载数据,还有创建一个输入管道,返回一个 tf.data.Dataset.
这本我们主要讲解 tfds.builder 和 tfds.load
二、tfds.builder
作用:fetches a tfds.core.DatasetBuilder by string name
tfds.builder(
name,
**builder_init_kwargs
)
参数:
name: 字符串类型, 是DatasetBuilderde的名字。 这个名字可以要么是BuilderConfig 的数据集“dataset_name” 或者 “dataset_name/config_name” 。为了方便,这个字符串可以包含逗号分割的参数对于builder来说。例如:"foo_bar/a = True, b =3“ 可以用FooBar 数据集通过关键参数a = True 和b = 3.
**builder_init_kwargs: 对DatasetBuilter的关键参数的dict。这将覆盖name中的关键参数。
返回:
一个 tfds.core.DatasetBuilder.
三、tfds.load
作用:导入已命名的数据集进入tf.data.Dataset
tfds.load(
name,
split = None,
data_dir = None,
batch_size = None,
in_memory = None,
shuffle_files = None,
download = True,
as_supervised = False,
decoders = None,
with_info = False,
builder_kwargs = None,
download_and_prepare_kwargs = None,
as_dataset_kwargs = None,
try_gcs = False
)
如果split = None(默认), 返回数据集的所有拆分,否则,返回具体的切分。
load 是一个方便的方法,可以取得tfds.core.DatasetBuilder,可以选在DatasetBuilder.download_and_prepare(如果 download = True), 和DatasetBuilder.as_dataset。这相当于:
builder = tfds.builder(name, data_dir = data_dir, **builder_kwargs)
if download:
builder.download_and_prepare(**download_)and_prepare_kwargs)
ds = builder.ad_dataset(
split = split , as_supervised = as_supervised, **as_dataset_kwargs)
if with_info:
return ds, builder.info
return ds