class_docstr: Dimension allocator for internal use by :class:`plate`.
  There is a single global instance.
  
  Note that dimensions are indexed from the right, e.g. -1, -2.
code: def __init__(self) -> None:
      # in reverse orientation of log_prob.shape
      self._stack: List[Optional[str]] = []
  
imports: import functools
  from typing import TYPE_CHECKING, Callable, Dict, Generic, List, Optional, Set, Tuple, TypeVar, Union, overload
  import torch
  from typing_extensions import Literal, ParamSpec, TypedDict
  from pyro.params.param_store import _MODULE_NAMESPACE_DIVIDER, ParamStoreDict
label_desc: Use image node_id 1 to create a new _DimAllocator object  with example: obj = _DimAllocator()