code: def _reshape_batch_univariate_transform(t, old_shape, new_shape):
      params = {}
      for name in UNIVARIATE_TRANSFORMS[type(t)]:
          value = getattr(t, name)
          if not isinstance(value, numbers.Number):
              value = value.expand(old_shape).reshape(new_shape)
          params[name] = value
      params["cache_size"] = t._cache_size
      return type(t)(**params)
  
imports: import numbers
  from functools import singledispatch
  import torch
  from torch.distributions import transform_to, transforms
  import pyro.distributions
  from pyro.infer.reparam import DiscreteCosineReparam, HaarReparam
  from pyro.poutine.messenger import Messenger
  from pyro.poutine.util import site_is_subsample
  from pyro.primitives import get_param_store
label_desc: Use image node_id 22 for calling a global function with example usage: _reshape_batch_univariate_transform(t, old_shape, new_shape) and returns: type