title: TFMA run_model_analysis not parsing TFRecord files properly
body: <p>I am trying to use the run_model_analysis function of TFMA library to evaluate my model.
  The data has been written to a TFRecord following the tf.train.example format.
  The model called for the evalaution expects an input shape of (None, 1, 5).
  Somehow on running the TFRecord bytestring saved by the SerializeToString function dosen't get parsed and gets passed as it is.
  On running it gives this error -</p>
  <pre><code>WARNING:absl:Tensorflow version (2.8.1) found. Note that TFMA support for TF 2.0 is currently in beta
  WARNING:root:Make sure that locally built Python SDK docker image has Python 3.8 interpreter.
  The thread 0x3 has exited with code 0 (0x0).
  The thread 0x4 has exited with code 0 (0x0).
  The thread 0x5 has exited with code 0 (0x0).
  The thread 0x6 has exited with code 0 (0x0).
  WARNING:apache_beam.io.tfrecordio:Couldn't find python-snappy so the implementation of _TFRecordUtil._masked_crc32c is not as fast as it could be.
  WARNING:absl:Large batch_size 1 failed with error Fail to call signature func with signature_name: serving_default.
                  the inputs are:
   [b'\n\xab\x01\n\x1e\n\x15DistinctCurrencyCodes\x12\x05\x1a\x03\n\x01\x00\n\x1e\n\x12AvgInvoiceQuantity\x12\x08\x12\x06\n\x04\xb0\xc2\xd8=\n\x16\n\nAvgTaxRate\x12\x08\x12\x06\n\x04&lt;\xbf1&gt;\n\x1c\n\x10InvoiceTaxAmount\x12\x08\x12\x06\n\x04\x88\x10\x8d\xbb\n\x1f\n\x13AvgInvoiceUnitPrice\x12\x08\x12\x06\n\x04\xc0\x95\xf4&gt;\n\x12\n\tIsAnomaly\x12\x05\x1a\x03\n\x01\x00'].
                  The input_specs are:
   {'input_1': TensorSpec(shape=(None, 1, 5), dtype=tf.float32, name='input_1')}.. Attempting to run batch through serially. Note that this will significantly affect the performance.
  The thread 0x7 has exited with code 0 (0x0).
  The thread 0x2 has exited with code 0 (0x0).
  Fail to call signature func with signature_name: serving_default.
                  the inputs are:
   [b'\n\xab\x01\n\x1e\n\x15DistinctCurrencyCodes\x12\x05\x1a\x03\n\x01\x00\n\x1e\n\x12AvgInvoiceQuantity\x12\x08\x12\x06\n\x04\xb0\xc2\xd8=\n\x16\n\nAvgTaxRate\x12\x08\x12\x06\n\x04&lt;\xbf1&gt;\n\x1c\n\x10InvoiceTaxAmount\x12\x08\x12\x06\n\x04\x88\x10\x8d\xbb\n\x1f\n\x13AvgInvoiceUnitPrice\x12\x08\x12\x06\n\x04\xc0\x95\xf4&gt;\n\x12\n\tIsAnomaly\x12\x05\x1a\x03\n\x01\x00'].
                  The input_specs are:
   {'input_1': TensorSpec(shape=(None, 1, 5), dtype=tf.float32, name='input_1')}. [while running 'ExtractEvaluateAndWriteResults/ExtractAndEvaluate/ExtractPredictions/Predict']
  Stack trace:
   &gt;
   &gt;During handling of the above exception, another exception occurred:
   &gt;
   &gt;
   &gt;The above exception was the direct cause of the following exception:
   &gt;
   &gt;
   &gt;During handling of the above exception, another exception occurred:
   &gt;
   &gt;
   &gt;During handling of the above exception, another exception occurred:
   &gt;
   &gt;
   &gt;The above exception was the direct cause of the following exception:
   &gt;
   &gt;
   &gt;During handling of the above exception, another exception occurred:
   &gt;
   &gt;  File &quot;C:\Users\t-ankbiswas\OneDrive - Microsoft\Desktop\EC.VL.CommerceTools\DataScience\AnomalyDetection\AnomalyDetector\AnomalyDetector\Evaluator\TFEvaluator.py&quot;, line 163, in evaluateModel
   &gt;    evalResult = tfma.run_model_analysis(
   &gt;  File &quot;C:\Users\t-ankbiswas\OneDrive - Microsoft\Desktop\EC.VL.CommerceTools\DataScience\AnomalyDetection\AnomalyDetector\AnomalyDetector\Helpers\ExecutionManager.py&quot;, line 115, in CheckEvaluatorStages
   &gt;    result = TFEvaluator(config).evaluateModel(config, dataProducer, dataPreprocessor,
   &gt;  File &quot;C:\Users\t-ankbiswas\OneDrive - Microsoft\Desktop\EC.VL.CommerceTools\DataScience\AnomalyDetection\AnomalyDetector\AnomalyDetector\Helpers\ExecutionManager.py&quot;, line 56, in Execute
   &gt;    CheckEvaluatorStages(config)
   &gt;  File &quot;C:\Users\t-ankbiswas\OneDrive - Microsoft\Desktop\EC.VL.CommerceTools\DataScience\AnomalyDetection\AnomalyDetector\AnomalyDetector\Main.py&quot;, line 53, in &lt;module&gt; (Current frame)
   &gt;    ExecutionManager.Execute()
  Backend QtAgg is interactive backend. Turning interactive mode on.
  Loaded 'tensorflow.python.eager.function'
  Loaded 'tensorflow.python.eager.execute'
  Loaded 'tensorflow.python.saved_model.load'
  Loaded 'tensorflow_model_analysis.utils.model_util'
  Loaded 'apache_beam.runners.common'
  Loaded 'apache_beam.runners.worker.operations'
  Loaded 'apache_beam.runners.worker.bundle_processor'
  Loaded 'apache_beam.runners.worker.sdk_worker'
  Loaded 'apache_beam.runners.portability.fn_api_runner.worker_handlers'
  Loaded 'apache_beam.runners.portability.fn_api_runner.fn_runner'
  Loaded 'apache_beam.runners.direct.direct_runner'
  Loaded 'apache_beam.pipeline'
  Loaded 'tensorflow_model_analysis.api.model_eval_lib'
  Loaded 'Evaluator.TFEvaluator'
  Loaded 'Helpers.ExecutionManager'
  Loaded '__main__'
  Loaded 'runpy'
  The program 'python.exe' has exited with code 0 (0x0).
  </code></pre>
  <p>Any idea what causes this error and how it can be fixed ?</p>