code: def testBroadcastingPdfArgs(self):
      def _assert_shape(student, arg, shape):
          self.assertEqual(student.log_prob(arg).get_shape(), shape)
          self.assertEqual(student.prob(arg).get_shape(), shape)
  
      def _check(student):
          _assert_shape(student, 2.0, (3,))
          xs = np.array([2.0, 3.0, 4.0], dtype=np.float32)
          _assert_shape(student, xs, (3,))
          xs = np.array([xs])
          _assert_shape(student, xs, (1, 3))
          xs = xs.T
          _assert_shape(student, xs, (3, 3))
  
      _check(
          student_t.StudentT(
              df=[
                  2.0,
                  3.0,
                  4.0,
              ],
              loc=2.0,
              scale=1.0,
          )
      )
      _check(
          student_t.StudentT(
              df=7.0,
              loc=[
                  2.0,
                  3.0,
                  4.0,
              ],
              scale=1.0,
          )
      )
      _check(
          student_t.StudentT(
              df=7.0,
              loc=3.0,
              scale=[
                  2.0,
                  3.0,
                  4.0,
              ],
          )
      )
  
      def _check2d(student):
          _assert_shape(student, 2.0, (1, 3))
          xs = np.array([2.0, 3.0, 4.0], dtype=np.float32)
          _assert_shape(student, xs, (1, 3))
          xs = np.array([xs])
          _assert_shape(student, xs, (1, 3))
          xs = xs.T
          _assert_shape(student, xs, (3, 3))
  
      _check2d(
          student_t.StudentT(
              df=[
                  [
                      2.0,
                      3.0,
                      4.0,
                  ]
              ],
              loc=2.0,
              scale=1.0,
          )
      )
      _check2d(
          student_t.StudentT(
              df=7.0,
              loc=[
                  [
                      2.0,
                      3.0,
                      4.0,
                  ]
              ],
              scale=1.0,
          )
      )
      _check2d(
          student_t.StudentT(
              df=7.0,
              loc=3.0,
              scale=[
                  [
                      2.0,
                      3.0,
                      4.0,
                  ]
              ],
          )
      )
  
      def _check2d_rows(student):
          _assert_shape(student, 2.0, (3, 1))
          xs = np.array([2.0, 3.0, 4.0], dtype=np.float32)  # (3,)
          _assert_shape(student, xs, (3, 3))
          xs = np.array([xs])  # (1,3)
          _assert_shape(student, xs, (3, 3))
          xs = xs.T  # (3,1)
          _assert_shape(student, xs, (3, 1))
  
      _check2d_rows(
          student_t.StudentT(
              df=[[2.0], [3.0], [4.0]], loc=2.0, scale=1.0
          )
      )
      _check2d_rows(
          student_t.StudentT(
              df=7.0, loc=[[2.0], [3.0], [4.0]], scale=1.0
          )
      )
      _check2d_rows(
          student_t.StudentT(
              df=7.0, loc=3.0, scale=[[2.0], [3.0], [4.0]]
          )
      )
  
imports: import importlib
  import math
  import numpy
  from tensorflow.python.eager import backprop
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import random_seed
  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 student_t
  from tensorflow.python.platform import test
  from tensorflow.python.platform import tf_logging
label_desc: Use image node_id 11 for calling the StudentTTest obj's underlying member method code with example usage: obj.testBroadcastingPdfArgs() without return types