code: def logit_normal_variance_gh(loc, scale, deg):
      """Approxmates `Var_{N(m,s)}[sigmoid(X)]` by Gauss-Hermite quadrature."""
      # Since we have to compute sigmoids for variance anyway, we inline
      # computing the mean by Gauss-Hermite quadrature at the same grid of points.
      grid, weights = onp.polynomial.hermite_e.hermegauss(deg)
      grid = tf.cast(grid, dtype=loc.dtype)
      weights = tf.cast(weights, dtype=loc.dtype)
      normalizer = tf.constant(onp.sqrt(2 * onp.pi), dtype=loc.dtype)
      sigmoids = tf.sigmoid(
          grid * scale[..., tf.newaxis] + loc[..., tf.newaxis]
      )
      mean = tf.reduce_sum(sigmoids * weights, axis=-1) / normalizer
      residuals = (sigmoids - mean[..., tf.newaxis]) ** 2
      return tf.reduce_sum(residuals * weights, axis=-1) / normalizer
  
imports: import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import sigmoid
  from tensorflow_probability.python.bijectors import softplus
  from tensorflow_probability.python.distributions import kullback_leibler
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.distributions import transformed_distribution
  from tensorflow_probability.python.internal import assert_util
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import parameter_properties
  from tensorflow_probability.python.math import special
label_desc: Use image node_id 10 for calling a global function with example usage: logit_normal_variance_gh(loc, scale, deg) and returns: unknown