class_docstr: Base class for BNNs that are made from other BNNs.
docstr: Return a string summarizing the structure of the BNN.
docstr_tok: ["Return","a","string","summarizing","the","structure","of","the","BNN","."]
code: def summarize(self, params=None, full: bool = False) -> str:
      """Return a string summarizing the structure of the BNN."""
      params = params or {}
      if "params" in params:
          params = params["params"]
  
      names = [
          b.summarize(params.get(f"bnns_{i}"), full)
          for i, b in enumerate(self.bnns)
      ]
  
      return f"({self.summary_join_string(params).join(names)})"
  
imports: from typing import Optional
  from flax import linen
  import jax.numpy
  from tensorflow_probability.python.experimental.autobnn import bnn
  from tensorflow_probability.python.experimental.autobnn import likelihoods
  from tensorflow_probability.substrates.jax.bijectors import chain
  from tensorflow_probability.substrates.jax.bijectors import scale
  from tensorflow_probability.substrates.jax.bijectors import shift
  from tensorflow_probability.substrates.jax.distributions import beta
  from tensorflow_probability.substrates.jax.distributions import dirichlet
  from tensorflow_probability.substrates.jax.distributions import half_normal
  from tensorflow_probability.substrates.jax.distributions import normal
  from tensorflow_probability.substrates.jax.distributions import transformed_distribution
label_desc: Use image node_id 6 for calling the BnnOperator obj's underlying member method code with example usage: obj.summarize(params, full) and returns: str, self, str