code: def _get_data_protobuff(self, filename):
      filename = str(filename).split(",")
      filename_queue = tf.train.string_input_producer(
          filename, num_epochs=None
      )
      reader = tf.TFRecordReader()
      _, serialized_example = reader.read(filename_queue)
      features = self._get_features(serialized_example)
  
      # image
      image, image_height, image_width = self._image_from_feature(
          features
      )
  
      # landmarks
      (
          gt_heatmap,
          gt_lms,
          n_landmarks,
          mask_index,
          gt_mask,
      ) = self._heatmap_from_feature(features)
  
      # infomations
      status = self._info_from_feature(features)
  
      # augmentation
      if self.augmentation:
          do_flip, do_rotate, do_scale = tf.unstack(
              self.augmentation_type()
          )
  
          # rescale
          image_height = tf.to_int32(
              tf.to_float(image_height) * do_scale[0]
          )
          image_width = tf.to_int32(
              tf.to_float(image_width) * do_scale[0]
          )
  
          image = tf.image.resize_images(
              image, tf.stack([image_height, image_width])
          )
          gt_heatmap = tf.image.resize_images(
              gt_heatmap, tf.stack([image_height, image_width])
          )
          gt_lms = gt_lms * do_scale
  
          # rotate
          image = rotate_image_tensor(image, do_rotate)
          gt_heatmap = rotate_image_tensor(gt_heatmap, do_rotate)
          gt_lms = rotate_points_tensor(gt_lms, image, do_rotate)
  
      # crop to 256 * 256
      target_h = tf.to_int32(256)
      target_w = tf.to_int32(256)
      offset_h = tf.to_int32((image_height - target_h) / 2)
      offset_w = tf.to_int32((image_width - target_w) / 2)
  
      image = tf.image.crop_to_bounding_box(
          image, offset_h, offset_w, target_h, target_w
      )
  
      gt_heatmap = tf.image.crop_to_bounding_box(
          gt_heatmap, offset_h, offset_w, target_h, target_w
      )
  
      gt_lms = gt_lms - tf.to_float(tf.stack([offset_h, offset_w]))
  
      self._set_shape(image, gt_heatmap, gt_lms, mask_index, gt_mask)
  
      return image, gt_heatmap, gt_lms, mask_index, gt_mask
  
file_path: insightface/reconstruction/ostec/external/landmark_detector/data_provider.py
imports: import tensorflow
  import numpy
  from menpo.transform import Translation
  from external.landmark_detector.flags import FLAGS
label_desc: Use image node_id 9 for calling the ProtobuffProvider obj's underlying member method code with example usage: obj._get_data_protobuff(filename) and returns: image,  gt_heatmap,  gt_lms,  mask_index,  gt_mask