code: def test_ctsplitter_train_correct_out_count(point_process_dataset):
      # produce new TPP data by shuffling existing TS instance
      def shuffle_iterator(num_duplications=5):
          for entry in point_process_dataset:
              for i in range(num_duplications):
                  d = dict.copy(entry)
                  d["target"] = np.random.permutation(d["target"].T).T
                  yield d
  
      splitter = transform.ContinuousTimeInstanceSplitter(
          past_interval_length=1,
          future_interval_length=1,
          instance_sampler=MockContinuousTimeSampler(
              ret_values=[1.01, 1.5, 1.99]
          ),
          freq=to_offset("H"),
      )
  
      iter_de = splitter(shuffle_iterator(), is_train=True)
  
      outputs = list(iter_de)
  
      assert len(outputs) == 5 * 3
  
imports: from typing import Tuple, List
  import numpy
  import pandas
  from pandas.tseries.frequencies import to_offset
  import pytest
  import gluonts
  from gluonts import time_feature, transform
  from gluonts.core import fqname_for
  from gluonts.core.serde import dump_json, load_json
  from gluonts.dataset.common import DataEntry, ListDataset
  from gluonts.dataset.field_names import FieldName
  from gluonts.dataset.stat import ScaleHistogram, calculate_dataset_statistics
  from gluonts.transform import CausalMeanValueImputation, DummyValueImputation, LastValueImputation, MeanValueImputation, RollingMeanValueImputation, Valmap
  from gluonts.transform.convert import ToIntervalSizeFormat, erf, erfinv
  from gluonts.transform.feature import CountTrailingZeros
label_desc: Use image node_id 20 for calling a global function with example usage: test_ctsplitter_train_correct_out_count(point_process_dataset) without return types