class_docstr: A dataset that accepts as argument multiple datasets and then samples from them based on the specified 
  sampling technique.
  Args:
      datasets (list): A list of datasets to sample from.
      sampling_technique (str): Sampling technique to choose which dataset to draw a sample from.
          Defaults to 'temperature'. Currently supports 'temperature', 'random' and 'round-robin'.
      sampling_temperature (int): Temperature value for sampling. Only used when sampling_technique = 'temperature'.
          Defaults to 5.
      sampling_probabilities (list): Probability values for sampling. Only used when sampling_technique = 'random'.
      seed: Optional value to seed the numpy RNG.
code: def __getitem__(self, idx):
      dataset_id, dataset_index = self.indices[idx]
      return self.datasets[dataset_id][dataset_index]
  
imports: import io
  import logging
  from typing import Any, List, Optional, Tuple, Union
  import numpy
  import torch
  import torch.utils.data
  from torch.utils.data import Dataset, IterableDataset
label_desc: Use image node_id 3 for calling the ConcatMapDataset obj's underlying member method code with example usage: obj.__getitem__(idx) and returns: self