code: def _get_results(self, path, file_name, proto_type):
      results = []
      filepattern = os.path.join(path, file_name) + "-?????-of-?????.gz"
      for f in fileio.glob(filepattern):
          record_iterator = tf.compat.v1.python_io.tf_record_iterator(
              path=f,
              options=tf.compat.v1.python_io.TFRecordOptions(
                  tf.compat.v1.python_io.TFRecordCompressionType.GZIP
              ),
          )
          for record_string in record_iterator:
              prediction_log = proto_type()
              prediction_log.MergeFromString(record_string)
              results.append(prediction_log)
      return results
  
file_path: tfx/tfx/components/bulk_inferrer/executor_test.py
imports: import os
  import tensorflow
  from tfx.components.bulk_inferrer import executor
  from tfx.dsl.io import fileio
  from tfx.proto import bulk_inferrer_pb2
  from tfx.types import artifact_utils
  from tfx.types import standard_artifacts
  from tfx.types import standard_component_specs
  from tfx.utils import io_utils
  from tfx.utils import proto_utils
  from google.protobuf import text_format
  from tensorflow_serving.apis import prediction_log_pb2
label_desc: Use image node_id 2 for calling the ExecutorTest obj's underlying member method code with example usage: obj._get_results(path, file_name, proto_type) and returns: results