def _parse_example_fn(example_proto): """ Parse the input `tf.Example` proto using the features_spec Args: example_proto: tfrecord Example protobuf data Returns: features: parsed features extracted from the protobuf labels: parsed label extracted from the protobuf """ features = io.parse_single_example(serialized=example_proto, features=features_spec) features_dict = dict() # Process all features for feature_info in feature_config.get_all_features(): feature_node_name = feature_info.get("node_name", feature_info["name"]) default_tensor = tf.constant( value=feature_config.get_default_value(feature_info), dtype=feature_info["dtype"], ) feature_tensor = features.get(feature_info["name"], default_tensor) feature_tensor = tf.expand_dims(feature_tensor, axis=0) feature_tensor = preprocess_feature(feature_tensor, feature_info, preprocessing_map) features_dict[feature_node_name] = feature_tensor labels = features_dict.pop(feature_config.get_label(key="name")) return features_dict, labels
def decode(self, serialized_example): """ Load final output to neural network training procedure :param serialized_example: compressed example recorded on TFRecordWriter :return: image, label as one hot encoder """ features = io.parse_single_example(serialized_example, self.get_template()) image = io.decode_raw(features['image'], 'uint8') image = reshape(image, self.shape + (3, )) image = cast(image, dtype='float32') / 255 return image, one_hot(features['label'], self.labels)
def extract_features_from_proto(self, serialized): """ Parse the serialized proto string to extract features Parameters ---------- proto: tf.Tensor A scalar string tensor that is the serialized form of a TFRecord object Returns ------- dict of Tensors Dictionary of features extracted from the proto as per the features_spec """ return io.parse_single_example(serialized=serialized, features=self.features_spec)
def _parse_example_fn(example_proto): """ Parse the input `tf.Example` proto using the features_spec Parameters ---------- example_proto : string serialized tfrecord Example protobuf message Returns ------- features : dict parsed features as `tf.Tensor` objects extracted from the protobuf labels : `tf.Tensor` parsed label as a `tf.Tensor` object extracted from the protobuf """ features = io.parse_single_example(serialized=example_proto, features=features_spec) features_dict = dict() # Process all features, including label. for feature_info in feature_config.get_all_features(): feature_node_name = feature_info.get("node_name", feature_info["name"]) default_tensor = tf.constant( value=feature_config.get_default_value(feature_info), dtype=feature_info["dtype"], ) feature_tensor = features.get(feature_info["name"], default_tensor) feature_tensor = tf.expand_dims(feature_tensor, axis=0) feature_tensor = preprocess_feature(feature_tensor, feature_info, preprocessing_map) features_dict[feature_node_name] = feature_tensor labels = features_dict.pop(feature_config.get_label(key="name")) return features_dict, labels