code: def eight_schools_joint_log_prob(
      treatment_effects,
      treatment_stddevs,
      avg_effect,
      avg_stddev,
      school_effects_standard,
  ):
      """Eight-schools joint log-prob."""
      rv_avg_effect = normal.Normal(loc=0.0, scale=10.0)
      rv_avg_stddev = normal.Normal(loc=5.0, scale=1.0)
      rv_school_effects_standard = mvn(
          loc=tf.zeros_like(school_effects_standard),
          scale=tf.ones_like(school_effects_standard),
      )
      rv_treatment_effects = mvn(
          loc=(
              avg_effect
              + tf.math.exp(avg_stddev) * school_effects_standard
          ),
          scale=treatment_stddevs,
      )
      return (
          rv_avg_effect.log_prob(avg_effect)
          + rv_avg_stddev.log_prob(avg_stddev)
          + rv_school_effects_standard.log_prob(school_effects_standard)
          + rv_treatment_effects.log_prob(treatment_effects)
      )
  
file_path: probability/tensorflow_probability/python/mcmc/eight_schools_hmc.py
imports: import time
  import numpy
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import independent
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.mcmc import hmc
  from tensorflow_probability.python.mcmc import sample
label_desc: Use image node_id 2 for calling a global function with example usage: eight_schools_joint_log_prob(treatment_effects, treatment_stddevs, avg_effect, avg_stddev, school_effects_standard) and returns: unknown