def predict(self, test_dataset: tf.data.Dataset) -> PredictionOutput:
    '\n        Run prediction and return predictions and potential metrics.\n        Depending on the dataset and your use case, your test dataset may contain labels.\n        In that case, this method will also return metrics, like in evaluate().\n        Args:\n          test_dataset: something similar to a PT Dataset. This is just\n            temporary before to have a framework-agnostic approach for datasets.\n        '
    test_dataset = test_dataset.batch(self.args.eval_batch_size)
    test_dataset = self.args.strategy.experimental_distribute_dataset(test_dataset)
    return self._prediction_loop(test_dataset, description='Prediction')
Run prediction and return predictions and potential metrics.
Depending on the dataset and your use case, your test dataset may contain labels.
In that case, this method will also return metrics, like in evaluate().
Args:
  test_dataset: something similar to a PT Dataset. This is just
    temporary before to have a framework-agnostic approach for datasets.
def predict(self, test_dataset: tf.data.Dataset) -> PredictionOutput:
    '\n        Run prediction and return predictions and potential metrics.\n        Depending on the dataset and your use case, your test dataset may contain labels.\n        In that case, this method will also return metrics, like in evaluate().\n        Args:\n          test_dataset: something similar to a PT Dataset. This is just\n            temporary before to have a framework-agnostic approach for datasets.\n        '
    test_dataset = test_dataset.batch(self.args.eval_batch_size)
    test_dataset = self.args.strategy.experimental_distribute_dataset(test_dataset)
    return self._prediction_loop(test_dataset, description='Prediction')