class_docstr: An abstract base class for random datasets.
  
  Intended for subclassing, this class provides the framework for implementing
  custom random datasets. Each subclass should provide
  a concrete implementation of the `_generate_random_item` method.
  
  Attributes:
      size (int, default=100): The total number of items the dataset will contain.
code: def __post_init__(self) -> None:
      if self.size <= 0:
          raise ValueError(
              f"Size must be greater than zero. (Received {self.size})"
          )
      logger.debug(
          f"Instantiated {self.__class__.__name__} with {self.size} items"
      )
  
file_path: tnt/torchtnt/utils/data/synthetic_data.py
imports: from __future__ import annotations
  import abc
  import logging
  from dataclasses import dataclass, field
  from typing import Dict
  import torch
  from torch.utils.data import Dataset
  from torchtnt.utils.device import get_device_from_env
label_desc: Use image node_id 1 for calling the AbstractRandomDataset obj's underlying member method code with example usage: obj.__post_init__() without return types