def _create_image_with_prefix(name, prefix): """Create multiple accessors for image based data.""" msu.create_bytes_context_feature(name + "_format", IMAGE_FORMAT_KEY, prefix=prefix, module_dict=globals()) msu.create_bytes_context_feature(name + "_colorspace", IMAGE_COLORSPACE_KEY, prefix=prefix, module_dict=globals()) msu.create_int_context_feature(name + "_channels", IMAGE_CHANNELS_KEY, prefix=prefix, module_dict=globals()) msu.create_int_context_feature(name + "_height", IMAGE_HEIGHT_KEY, prefix=prefix, module_dict=globals()) msu.create_int_context_feature(name + "_width", IMAGE_WIDTH_KEY, prefix=prefix, module_dict=globals()) msu.create_bytes_feature_list(name + "_encoded", IMAGE_ENCODED_KEY, prefix=prefix, module_dict=globals()) msu.create_float_context_feature(name + "_frame_rate", IMAGE_FRAME_RATE_KEY, prefix=prefix, module_dict=globals()) msu.create_bytes_list_context_feature(name + "_class_label_string", IMAGE_CLASS_LABEL_STRING_KEY, prefix=prefix, module_dict=globals()) msu.create_int_list_context_feature(name + "_class_label_index", IMAGE_CLASS_LABEL_INDEX_KEY, prefix=prefix, module_dict=globals()) msu.create_int_list_context_feature(name + "_object_class_index", IMAGE_OBJECT_CLASS_INDEX_KEY, prefix=prefix, module_dict=globals()) msu.create_bytes_context_feature(name + "_data_path", IMAGE_DATA_PATH_KEY, prefix=prefix, module_dict=globals()) msu.create_int_feature_list(name + "_timestamp", IMAGE_TIMESTAMP_KEY, prefix=prefix, module_dict=globals()) msu.create_bytes_list_feature_list(name + "_multi_encoded", IMAGE_MULTI_ENCODED_KEY, prefix=prefix, module_dict=globals())
msu.create_int_context_feature("feature_num_channels", FEATURE_NUM_CHANNELS_KEY, module_dict=globals()) msu.create_int_context_feature("feature_num_samples", FEATURE_NUM_SAMPLES_KEY, module_dict=globals()) msu.create_float_context_feature("feature_packet_rate", FEATURE_PACKET_RATE_KEY, module_dict=globals()) msu.create_float_context_feature("feature_audio_sample_rate", FEATURE_AUDIO_SAMPLE_RATE_KEY, module_dict=globals()) msu.create_float_list_feature_list("feature_floats", FEATURE_FLOATS_KEY, module_dict=globals()) msu.create_bytes_list_feature_list("feature_bytes", FEATURE_BYTES_KEY, module_dict=globals()) msu.create_int_list_feature_list("feature_ints", FEATURE_INTS_KEY, module_dict=globals()) msu.create_int_feature_list("feature_timestamp", FEATURE_TIMESTAMP_KEY, module_dict=globals()) msu.create_int_list_feature_list("feature_duration", FEATURE_DURATION_KEY, module_dict=globals()) msu.create_float_list_feature_list("feature_confidence", FEATURE_CONFIDENCE_KEY, module_dict=globals())
def _create_region_with_prefix(name, prefix): """Create multiple accessors for region based data.""" msu.create_int_feature_list(name + "_num_regions", REGION_NUM_REGIONS_KEY, prefix=prefix, module_dict=globals()) msu.create_int_feature_list(name + "_is_annotated", REGION_IS_ANNOTATED_KEY, prefix=prefix, module_dict=globals()) msu.create_int_list_feature_list(name + "_is_occluded", REGION_IS_OCCLUDED_KEY, prefix=prefix, module_dict=globals()) msu.create_int_list_feature_list(name + "_is_generated", REGION_IS_GENERATED_KEY, prefix=prefix, module_dict=globals()) msu.create_int_feature_list(name + "_timestamp", REGION_TIMESTAMP_KEY, prefix=prefix, module_dict=globals()) msu.create_int_feature_list(name + "_unmodified_timestamp", REGION_UNMODIFIED_TIMESTAMP_KEY, prefix=prefix, module_dict=globals()) msu.create_bytes_list_feature_list(name + "_label_string", REGION_LABEL_STRING_KEY, prefix=prefix, module_dict=globals()) msu.create_int_list_feature_list(name + "_label_index", REGION_LABEL_INDEX_KEY, prefix=prefix, module_dict=globals()) msu.create_float_list_feature_list(name + "_label_confidence", REGION_LABEL_CONFIDENCE_KEY, prefix=prefix, module_dict=globals()) msu.create_bytes_list_feature_list(name + "_class_string", REGION_CLASS_STRING_KEY, prefix=prefix, module_dict=globals()) msu.create_int_list_feature_list(name + "_class_index", REGION_CLASS_INDEX_KEY, prefix=prefix, module_dict=globals()) msu.create_float_list_feature_list(name + "_class_confidence", REGION_CLASS_CONFIDENCE_KEY, prefix=prefix, module_dict=globals()) msu.create_bytes_list_feature_list(name + "_track_string", REGION_TRACK_STRING_KEY, prefix=prefix, module_dict=globals()) msu.create_int_list_feature_list(name + "_track_index", REGION_TRACK_INDEX_KEY, prefix=prefix, module_dict=globals()) msu.create_float_list_feature_list(name + "_track_confidence", REGION_TRACK_CONFIDENCE_KEY, prefix=prefix, module_dict=globals()) msu.create_float_list_feature_list(name + "_ymin", REGION_BBOX_YMIN_KEY, prefix=prefix, module_dict=globals()) msu.create_float_list_feature_list(name + "_xmin", REGION_BBOX_XMIN_KEY, prefix=prefix, module_dict=globals()) msu.create_float_list_feature_list(name + "_ymax", REGION_BBOX_YMAX_KEY, prefix=prefix, module_dict=globals()) msu.create_float_list_feature_list(name + "_xmax", REGION_BBOX_XMAX_KEY, prefix=prefix, module_dict=globals()) msu.create_float_list_feature_list(name + "_point_x", REGION_POINT_X_KEY, prefix=prefix, module_dict=globals()) msu.create_float_list_feature_list(name + "_point_y", REGION_POINT_Y_KEY, prefix=prefix, module_dict=globals()) msu.create_float_list_feature_list(name + "_3d_point_x", REGION_3D_POINT_X_KEY, prefix=prefix, module_dict=globals()) msu.create_float_list_feature_list(name + "_3d_point_y", REGION_3D_POINT_Y_KEY, prefix=prefix, module_dict=globals()) msu.create_float_list_feature_list(name + "_3d_point_z", REGION_3D_POINT_Z_KEY, prefix=prefix, module_dict=globals()) msu.create_bytes_list_context_feature(name + "_parts", REGION_PARTS_KEY, prefix=prefix, module_dict=globals()) msu.create_float_list_context_feature( name + "_embedding_dimensions_per_region", REGION_EMBEDDING_DIMENSIONS_PER_REGION_KEY, prefix=prefix, module_dict=globals()) msu.create_bytes_context_feature(name + "_embedding_format", REGION_EMBEDDING_FORMAT_KEY, prefix=prefix, module_dict=globals()) msu.create_float_list_feature_list(name + "_embedding_floats", REGION_EMBEDDING_FLOAT_KEY, prefix=prefix, module_dict=globals()) msu.create_bytes_list_feature_list(name + "_embedding_encoded", REGION_EMBEDDING_ENCODED_KEY, prefix=prefix, module_dict=globals()) msu.create_float_list_feature_list(name + "_embedding_confidence", REGION_EMBEDDING_CONFIDENCE_KEY, prefix=prefix, module_dict=globals()) # pylint: disable=undefined-variable def get_prefixed_bbox_at(index, sequence_example, prefix): return np.stack( (get_bbox_ymin_at(index, sequence_example, prefix=prefix), get_bbox_xmin_at(index, sequence_example, prefix=prefix), get_bbox_ymax_at(index, sequence_example, prefix=prefix), get_bbox_xmax_at(index, sequence_example, prefix=prefix)), 1) def add_prefixed_bbox(values, sequence_example, prefix): add_bbox_ymin(values[:, 0], sequence_example, prefix=prefix) add_bbox_xmin(values[:, 1], sequence_example, prefix=prefix) add_bbox_ymax(values[:, 2], sequence_example, prefix=prefix) add_bbox_xmax(values[:, 3], sequence_example, prefix=prefix) def get_prefixed_bbox_size(sequence_example, prefix): return get_bbox_ymin_size(sequence_example, prefix=prefix) def has_prefixed_bbox(sequence_example, prefix): return has_bbox_ymin(sequence_example, prefix=prefix) def clear_prefixed_bbox(sequence_example, prefix): clear_bbox_ymin(sequence_example, prefix=prefix) clear_bbox_xmin(sequence_example, prefix=prefix) clear_bbox_ymax(sequence_example, prefix=prefix) clear_bbox_xmax(sequence_example, prefix=prefix) def get_prefixed_point_at(index, sequence_example, prefix): return np.stack( (get_bbox_point_y_at(index, sequence_example, prefix=prefix), get_bbox_point_x_at(index, sequence_example, prefix=prefix)), 1) def add_prefixed_point(values, sequence_example, prefix): add_bbox_point_y(values[:, 0], sequence_example, prefix=prefix) add_bbox_point_x(values[:, 1], sequence_example, prefix=prefix) def get_prefixed_point_size(sequence_example, prefix): return get_bbox_point_y_size(sequence_example, prefix=prefix) def has_prefixed_point(sequence_example, prefix): return has_bbox_point_y(sequence_example, prefix=prefix) def clear_prefixed_point(sequence_example, prefix): clear_bbox_point_y(sequence_example, prefix=prefix) clear_bbox_point_x(sequence_example, prefix=prefix) def get_prefixed_3d_point_at(index, sequence_example, prefix): return np.stack( (get_bbox_3d_point_x_at(index, sequence_example, prefix=prefix), get_bbox_3d_point_y_at(index, sequence_example, prefix=prefix), get_bbox_3d_point_z_at(index, sequence_example, prefix=prefix)), 1) def add_prefixed_3d_point(values, sequence_example, prefix): add_bbox_3d_point_x(values[:, 0], sequence_example, prefix=prefix) add_bbox_3d_point_y(values[:, 1], sequence_example, prefix=prefix) add_bbox_3d_point_z(values[:, 2], sequence_example, prefix=prefix) def get_prefixed_3d_point_size(sequence_example, prefix): return get_bbox_3d_point_x_size(sequence_example, prefix=prefix) def has_prefixed_3d_point(sequence_example, prefix): return has_bbox_3d_point_x(sequence_example, prefix=prefix) def clear_prefixed_3d_point(sequence_example, prefix): clear_bbox_3d_point_x(sequence_example, prefix=prefix) clear_bbox_3d_point_y(sequence_example, prefix=prefix) clear_bbox_3d_point_z(sequence_example, prefix=prefix) # pylint: enable=undefined-variable msu.add_functions_to_module( { "get_" + name + "_at": functools.partial(get_prefixed_bbox_at, prefix=prefix), "add_" + name: functools.partial(add_prefixed_bbox, prefix=prefix), "get_" + name + "_size": functools.partial(get_prefixed_bbox_size, prefix=prefix), "has_" + name: functools.partial(has_prefixed_bbox, prefix=prefix), "clear_" + name: functools.partial(clear_prefixed_bbox, prefix=prefix), }, module_dict=globals()) msu.add_functions_to_module( { "get_" + name + "_point_at": functools.partial(get_prefixed_point_at, prefix=prefix), "add_" + name + "_point": functools.partial(add_prefixed_point, prefix=prefix), "get_" + name + "_point_size": functools.partial(get_prefixed_point_size, prefix=prefix), "has_" + name + "_point": functools.partial(has_prefixed_point, prefix=prefix), "clear_" + name + "_point": functools.partial(clear_prefixed_point, prefix=prefix), }, module_dict=globals()) msu.add_functions_to_module( { "get_" + name + "_3d_point_at": functools.partial(get_prefixed_3d_point_at, prefix=prefix), "add_" + name + "_3d_point": functools.partial(add_prefixed_3d_point, prefix=prefix), "get_" + name + "_3d_point_size": functools.partial(get_prefixed_3d_point_size, prefix=prefix), "has_" + name + "_3d_point": functools.partial(has_prefixed_3d_point, prefix=prefix), "clear_" + name + "_3d_point": functools.partial(clear_prefixed_3d_point, prefix=prefix), }, module_dict=globals())
"float_vector_feature", module_dict=msu.__dict__) msu.create_int_list_context_feature("int64_list_context", "int64_vector_feature", module_dict=msu.__dict__) msu.create_bytes_feature_list("string_feature_list", "string_feature_list", module_dict=msu.__dict__) msu.create_float_feature_list("float_feature_list", "float_feature_list", module_dict=msu.__dict__) msu.create_int_feature_list("int64_feature_list", "int64_feature_list", module_dict=msu.__dict__) msu.create_bytes_list_feature_list("string_list_feature_list", "string_list_feature_list", module_dict=msu.__dict__) msu.create_float_list_feature_list("float_list_feature_list", "float_list_feature_list", module_dict=msu.__dict__) msu.create_int_list_feature_list("int64_list_feature_list", "int64_list_feature_list", module_dict=msu.__dict__) class MediaSequenceTest(tf.test.TestCase): def test_set_context_float(self): example = tf.train.SequenceExample() key = "test_float" msu.set_context_float(key, 0.1, example) self.assertAlmostEqual(