此页面由 Cloud Translation API 翻译。
Switch to English

tfds.features.FeatureConnector

GitHub上查看源代码

抽象基类要素类型。

此类提供的信息被存储在磁盘上的方式之间的接口,并且它的方式被呈现给用户。

这里是关于FeatureConnector方法是如何装配到数据生成/读取的图:

 generator => encode_example() => tf_example => decode_example() => data dict
 

连接器既可以得到原始的或字典中的值作为输入,根据连接器的类型。

dtype 返回此FeatureConnector的D型(或D型的字典)。
shape 返回此FeatureConnector的形状(或形状的字典)。

方法

decode_batch_example

查看源代码

解码多种功能分批在一个tf.Tensor。

此功能用于包裹在解码特征tfds.features.Sequence()默认情况下,该功能适用decode_example使用每个单独的元素tf.map_fn 。然而,对于优化功能,可以覆盖此方法以应用自定义批处理解码。

ARGS
tfexample_data 相同tf.Tensor输入作为decode_example ,但与和序列长度附加的第一尺寸。

返回
tensor_data 张量或字典张量,所述tf.data.Dataset对象的输出

decode_example

查看源代码

解码功能字典到TF兼容的输入。

ARGS
tfexample_data 数据或词典数据的,如通过TF-例如读取器读取。它对应于tf.Tensor()或者字典tf.Tensor()从提取的tf.train.Example ,匹配中定义的信息get_serialized_info()

返回
tensor_data 张量或字典张量,所述tf.data.Dataset对象的输出

decode_ragged_example

查看源代码

解码从tf.RaggedTensor嵌套功能。

此功能用于包裹在嵌套解码特征tfds.features.Sequence()默认情况下,该功能适用decode_batch_example对衣衫褴褛的张量的平值。为了优化,功能可以覆盖此方法以应用自定义批处理解码。

ARGS
tfexample_data tf.RaggedTensor包含嵌套编码例子的输入。

返回
tensor_data 经解码的tf.RaggedTensor的tf.data.Dataset对象的或字典张量,输出

encode_example

查看源代码

编码特征的dict到TF-示例兼容的输入。

输入example_data可以是任何用户通过在数据生成。例如:

对于功能:

 features={
    'image': tfds.features.Image(),
    'custom_feature': tfds.features.CustomFeature(),
}
 

在数据生成(在_generate_examples ),如果用户产生了:

 yield {
    'image': 'path/to/img.png',
    'custom_feature': [123, 'str', lambda x: x+1]
}
 

然后:

ARGS
example_data 值或值的字典转换成TF-示例兼容的数据。

返回
tfexample_data 数据或数据的词典来写为TF-例子。数据可以是一个列表或numpy的阵列。需要注意的是numpy的阵列扁平所以它的功能连接器的责任,重塑他们decode_example()需要注意的是tf.train.Example仅支持的Int64,FLOAT32和字符串,返回的数据在这里应该是整数,浮点数或字符串。用户类型可以在恢复decode_example()

get_serialized_info

查看源代码

返回的特征的形状/ D型编码(对于适配器)之后。

FileAdapter然后使用这些信息来写入数据在磁盘上。

该函数表示该功能是如何对文件编码的内部。该DatasetBuilder都写在磁盘上,tf.train.Example原。

例如:

 return {
    'image': tfds.features.TensorInfo(shape=(None,), dtype=tf.uint8),
    'height': tfds.features.TensorInfo(shape=(), dtype=tf.int32),
    'width': tfds.features.TensorInfo(shape=(), dtype=tf.int32),
}
 

FeatureConnector这不是容器应直接返回功能原型:

 return tfds.features.TensorInfo(shape=(64, 64), tf.uint8)
 

如果没有定义,则重新调谐值被自动从推导get_tensor_info功能。

返回
features 任一特征原对象的字典,或特征原始对象

get_tensor_info

查看源代码

返回功能的tf.Tensor D型/形状。

这将返回张量D型/形状,如通过返回通过.as_dataset tf.data.Dataset对象。

例如:

 return {
    'image': tfds.features.TensorInfo(shape=(None,), dtype=tf.uint8),
    'height': tfds.features.TensorInfo(shape=(), dtype=tf.int32),
    'width': tfds.features.TensorInfo(shape=(), dtype=tf.int32),
}
 

FeatureConnector这不是容器应直接返回功能原型:

 return tfds.features.TensorInfo(shape=(256, 256), dtype=tf.uint8)
 

返回
tensor_info 任一个的字典tfds.features.TensorInfo对象或tfds.features.TensorInfo

load_metadata

查看源代码

恢复从磁盘功能的元数据。

如果一个数据集被重新加载,并且生成的文件存在于磁盘上,此功能将恢复从已保存文件的功能的元数据。

ARGS
data_dir str ,路径数据集文件夹,其保存的信息(例如: ~/datasets/cifar10/1.2.0/
feature_name str ,该功能的名称(从FeaturesDict键)

save_metadata

查看源代码

保存在磁盘上的功能的元数据。

数据已被生成后(通过调用此函数_download_and_prepare )保存与所生成的数据集的特征的连接器信息。

有些数据集/功能中动态计算信息_download_and_prepare 。例如:

  • 标签从下载的数据加载
  • 词汇是从下载的数据创建
  • ImageLabelFolder计算图像dtypes /形状从manual_dir

该信息已被添加到该功能后,该功能允许保存这些额外的信息数据被下一次加载恢复。

默认情况下,该功能不保存任何东西,但子类可以覆盖该功能。

ARGS
data_dir str ,路径数据集文件夹,其保存的信息(例如: ~/datasets/cifar10/1.2.0/
feature_name str ,该功能的名称(从FeaturesDict键)