Apply to speak at TensorFlow World. Deadline April 23rd. Propose talk

tfds.features.BBoxFeature

Class BBoxFeature

Inherits From: Tensor

Defined in core/features/bounding_boxes.py.

FeatureConnector for a normalized bounding box.

Input: * tfds.features.BBox tuple.

Output: bbox: tf.Tensor of type tf.float32 and shape [4,] which contains the normalized coordinates of the bounding box [ymin, xmin, ymax, xmax]

Example: * In the DatasetInfo object: features=features.FeatureDict({ 'bbox': features.BBox(shape=(None, 64, 64, 3)), })

  • During generation: yield { 'input': tfds.feature.BBox(ymin=0.3, xmin=0.8, ymax=0.5, xmax=1.0), }

__init__

__init__()

Properties

dtype

Return the dtype (or dict of dtype) of this FeatureConnector.

serialized_keys

List of the flattened feature keys after serialization.

shape

Return the shape (or dict of shape) of this FeatureConnector.

Methods

decode_example

decode_example(tfexample_data)

See base class for details.

encode_example

encode_example(bbox)

See base class for details.

get_serialized_info

get_serialized_info()

Return the tf-example features for the adapter, as stored on disk.

This function indicates how this feature is encoded on file internally. The DatasetBuilder are written on disk as tf.train.Example proto.

Ex:

return {
    'image': tf.VarLenFeature(tf.uint8):
    'height': tf.FixedLenFeature((), tf.int32),
    'width': tf.FixedLenFeature((), tf.int32),
}

FeatureConnector which are not containers should return the feature proto directly:

return tf.FixedLenFeature((64, 64), tf.uint8)

If not defined, the retuned values are automatically deduced from the get_tensor_info function.

Returns:

  • features: Either a dict of feature proto object, or a feature proto object

get_tensor_info

get_tensor_info()

See base class for details.

load_metadata

load_metadata(
    data_dir,
    feature_name
)

Restore the feature metadata from disk.

If a dataset is re-loaded and generated files exists on disk, this function will restore the feature metadata from the saved file.

Args:

  • data_dir: str, path to the dataset folder to which save the info (ex: ~/datasets/cifar10/1.2.0/)
  • feature_name: str, the name of the feature (from the FeatureDict key)

save_metadata

save_metadata(
    data_dir,
    feature_name
)

Save the feature metadata on disk.

This function is called after the data has been generated (by _download_and_prepare) to save the feature connector info with the generated dataset.

Some dataset/features dynamically compute info during _download_and_prepare. For instance:

  • Labels are loaded from the downloaded data
  • Vocabulary is created from the downloaded data
  • ImageLabelFolder compute the image dtypes/shape from the manual_dir

After the info have been added to the feature, this function allow to save those additional info to be restored the next time the data is loaded.

By default, this function do not save anything, but sub-classes can overwrite the function.

Args:

  • data_dir: str, path to the dataset folder to which save the info (ex: ~/datasets/cifar10/1.2.0/)
  • feature_name: str, the name of the feature (from the FeatureDict key)