code: def binomial_log_prob(self, val):
      n = self.parameters["total_count"]
      probs = self.parameters["probs"]
      f_n = tf.cast(n, tf.float32)
      f_val = tf.cast(val, tf.float32)
      result = f_val * tf.log(probs) + (f_n - f_val) * tf.log(
          1.0 - probs
      )
      result += (
          tf.lgamma(f_n + 1)
          - tf.lgamma(f_val + 1)
          - tf.lgamma(f_n - f_val + 1)
      )
      return result
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import numpy
  import tensorflow
  from edward.models.random_variables import *
label_desc: Use image node_id 4 for calling a global function with example usage: binomial_log_prob(val) and returns: result