code: def _pickle_setup_data(
      self,
      normalization_data_map: Dict[str, NormalizationData],
      train_dataset: Dataset,
      eval_dataset: Optional[Dataset],
  ) -> Dict[str, bytes]:
      setup_data = dict(
          normalization_data_map=pickle.dumps(normalization_data_map),
          train_dataset=pickle.dumps(train_dataset),
          eval_dataset=pickle.dumps(eval_dataset),
      )
      self.setup_data = setup_data
      return setup_data
  
imports: import abc
  import logging
  import pickle
  from typing import Dict, List, NamedTuple, Optional, Tuple
  from reagent.core.parameters import NormalizationData
  from reagent.data.data_fetcher import DataFetcher
  from reagent.data.oss_data_fetcher import OssDataFetcher
  from reagent.preprocessing.batch_preprocessor import BatchPreprocessor
  from reagent.workflow.types import Dataset, ReaderOptions, ResourceOptions, RewardOptions, TableSpec
  from .reagent_data_module import ReAgentDataModule
label_desc: Use image node_id 3 for calling the ManualDataModule obj's underlying member method code with example usage: obj._pickle_setup_data(normalization_data_map, train_dataset, eval_dataset) and returns: setup_data