class_docstr: Alternative parametrization of the distribution over a categorical variable.
  
  Instead of the typical parametrization of a categorical variable in terms
  of the probability mass of the individual categories ``p``, this provides an
  alternative that is useful in specifying ordered categorical models. This
  accepts a vector of ``cutpoints`` which are an ordered vector of real numbers
  denoting baseline cumulative log-odds of the individual categories, and a
  model vector ``predictor`` which modifies the baselines for each sample
  individually.
  
  These cumulative log-odds are then transformed into a discrete cumulative
  probability distribution, that is finally differenced to return the probability
  mass matrix ``p`` that specifies the categorical distribution.
  
  :param Tensor predictor: A tensor of predictor variables of arbitrary
      shape. The output shape of non-batched samples from this distribution will
      be the same shape as ``predictor``.
  :param Tensor cutpoints: A tensor of cutpoints that are used to determine the
      cumulative probability of each entry in ``predictor`` belonging to a
      given category. The first `cutpoints.ndim-1` dimensions must be
      broadcastable to ``predictor``, and the -1 dimension is monotonically
      increasing.
code: def expand(self, batch_shape, _instance=None):
      batch_shape = torch.Size(batch_shape)
      new = self._get_checked_instance(OrderedLogistic, _instance)
      new.predictor = self.predictor.expand(batch_shape)
      new.cutpoints = self.cutpoints.expand(
          batch_shape + (self.cutpoints.shape[-1],)
      )
      return super(OrderedLogistic, self).expand(batch_shape, new)
  
imports: import torch
  from pyro.distributions import constraints
  from pyro.distributions.torch import Categorical
label_desc: Use image node_id 2 for calling the OrderedLogistic obj's underlying member method code with example usage: obj.expand(batch_shape, _instance) and returns: super