code: def poisson_log_prob(self, val):
      rate = self.parameters["rate"]
      f_val = tf.cast(val, tf.float32)
      result = f_val * tf.log(rate)
      result += -rate - tf.lgamma(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 15 for calling a global function with example usage: poisson_log_prob(val) and returns: result