class_docstr: Computes the log probability density of a trace (of a model with
  tree structure) that possibly contains discrete sample sites
  enumerated in parallel. This will be deprecated in favor of
  :class:`~pyro.infer.mcmc.util.EinsumTraceProbEvaluator`.
  
  :param model_trace: execution trace from a static model.
  :param bool has_enumerable_sites: whether the trace contains any
      discrete enumerable sites.
  :param int max_plate_nesting: Optional bound on max number of nested
      :func:`pyro.plate` contexts.
class_docstr_tok: ["Computes","the","log","probability","density","of","a","trace","(","of","a","model","with","tree","structure",")","that","possibly","contains","discrete","sample","sites","enumerated","in","parallel",".","This","will","be","deprecated","in","favor","of",":","class",":","`","~pyro.infer.mcmc.util.EinsumTraceProbEvaluator","`",".",":","param","model_trace",":","execution","trace","from","a","static","model",".",":","param","bool","has_enumerable_sites",":","whether","the","trace","contains","any","discrete","enumerable","sites",".",":","param","int","max_plate_nesting",":","Optional","bound","on","max","number","of","nested",":","func",":","`","pyro.plate","`","contexts","."]
docstr: Aggregate the `log_prob` terms using depth first search.
docstr_tok: ["Aggregate","the","`","log_prob","`","terms","using","depth","first","search","."]
code: def _aggregate_log_probs(self, ordinal):
      """
      Aggregate the `log_prob` terms using depth first search.
      """
      if not self._children[ordinal]:
          return self._reduce(ordinal)
      agg_log_prob = sum(
          map(self._aggregate_log_probs, self._children[ordinal])
      )
      return self._reduce(ordinal, agg_log_prob)
  
imports: import functools
  import traceback
  import warnings
  from collections import OrderedDict, defaultdict
  from functools import partial, reduce
  from itertools import product
  import torch
  from opt_einsum import shared_intermediates
  from torch.distributions import biject_to
  import pyro
  import pyro.poutine
  from pyro.distributions.util import broadcast_shape, logsumexp
  from pyro.infer import config_enumerate
  from pyro.infer.autoguide.initialization import InitMessenger, init_to_uniform
  from pyro.infer.util import is_validation_enabled
  from pyro.ops import stats
  from pyro.ops.contract import contract_to_tensor
  from pyro.ops.integrator import potential_grad
  from pyro.poutine.subsample_messenger import _Subsample
  from pyro.poutine.util import prune_subsample_sites
  from pyro.util import check_site_shape, ignore_jit_warnings
label_desc: Use image node_id 6 for calling the TraceTreeEvaluator obj's underlying member method code with example usage: obj._aggregate_log_probs(ordinal) and returns: self, self