code: def test_tpp_pred_dataset_2_shapes_ok(
      dataset_tuple, predictor_factory
  ):
      dataset, ds_length = dataset_tuple
  
      predictor = predictor_factory()
      forecasts = [fc for fc in predictor.predict(dataset(), 50)]
  
      assert len(forecasts) == ds_length
  
      for forecast in forecasts:
          # each forecast should have 3dim samples, 1d valid lengths
          assert isinstance(forecast, PointProcessSampleForecast)
  
          assert forecast.samples.shape == (50, 25, 2)
          assert forecast.valid_length.shape == (50,)
  
          assert (
              forecast.prediction_interval_length
              == predictor.prediction_interval_length
          )
  
          assert forecast.start_date == pd.Timestamp(
              "2011-01-01 03:00:00"
          )
          assert forecast.end_date == pd.Timestamp(
              "2011-01-01 08:00:00"
          )
  
file_path: gluonts/test/mx/model/tpp/test_tpp_predictor.py
imports: from typing import Tuple
  import mxnet
  import numpy
  import pandas
  from pandas.tseries.frequencies import to_offset
  import pytest
  from mxnet import nd
  from gluonts.mx import PointProcessGluonPredictor, PointProcessSampleForecast
  from gluonts.mx import Tensor
  from gluonts.transform import ContinuousTimeInstanceSplitter, ContinuousTimePredictionSampler
  from .common import point_process_dataset, point_process_dataset_2
label_desc: Use image node_id 2 for calling a global function with example usage: test_tpp_pred_dataset_2_shapes_ok(dataset_tuple, predictor_factory) without return types