code: def testGammaSample(self):
      alpha_v = 4.0
      beta_v = 3.0
      alpha = constant_op.constant(alpha_v)
      beta = constant_op.constant(beta_v)
      n = 100000
      gamma = gamma_lib.Gamma(concentration=alpha, rate=beta)
      samples = gamma.sample(n, seed=137)
      sample_values = self.evaluate(samples)
      self.assertEqual(samples.get_shape(), (n,))
      self.assertEqual(sample_values.shape, (n,))
      self.assertTrue(self._kstest(alpha_v, beta_v, sample_values))
      if not stats:
          return
      self.assertAllClose(
          sample_values.mean(),
          stats.gamma.mean(alpha_v, scale=1 / beta_v),
          atol=0.01,
      )
      self.assertAllClose(
          sample_values.var(),
          stats.gamma.var(alpha_v, scale=1 / beta_v),
          atol=0.15,
      )
  
imports: import importlib
  import numpy
  from tensorflow.python.eager import backprop
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import tensor_shape
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import nn_ops
  from tensorflow.python.ops.distributions import gamma
  from tensorflow.python.ops.distributions import kullback_leibler
  from tensorflow.python.platform import test
  from tensorflow.python.platform import tf_logging
label_desc: Use image node_id 15 for calling the GammaTest obj's underlying member method code with example usage: obj.testGammaSample() without return types