class_docstr: A sliceable version of :class:`chainer.datasets.TransformDataset`.
  
  Note that it requires :obj:`keys` to determine the names of returned
  values.
  
  Here is an example.
  
  >>> def transfrom(in_data):
  >>>     img, bbox, label = in_data
  >>>     ...
  >>>     return new_img, new_label
  >>>
  >>> dataset = TramsformDataset(dataset, ('img', 'label'), transform)
  >>> dataset.keys  # ('img', 'label')
  
  Args:
      dataset: The underlying dataset.
          This dataset should have :meth:`__len__` and :meth:`__getitem__`.
      keys (string or tuple of strings): The name(s) of data
          that the transform function returns.
          If this parameter is omitted, :meth:`__init__` fetches a sample
          from the underlying dataset to determine the number of data.
      transform (callable): A function that is called to transform values
          returned by the underlying dataset's :meth:`__getitem__`.
code: def __len__(self):
      return len(self._dataset)
  
imports: from chainercv.chainer_experimental.datasets.sliceable import GetterDataset
  from chainercv.chainer_experimental.datasets.sliceable.sliceable_dataset import _is_iterable
label_desc: Use image node_id 2 for calling the TransformDataset obj's underlying member method code with example usage: obj.__len__() and returns: len