code: def test_generate_sample_paths_shape(self, dtype):
      mu = np.ones((4, 3, 1), dtype=dtype)
      sigma = mu
      times = np.array([1.4, 5.0], dtype=dtype)
      initial_state = np.ones_like(mu, dtype=dtype) * 100.0
      num_samples = 100
      samples = gmb_utils.generate_sample_paths(
          mu, sigma, times, initial_state, False, num_samples, dtype
      )
      samples_shape = samples.shape
      # expected shape = (batch_shape, num_samples, num_times, 1).
      self.assertEqual(samples_shape, (4, 3, num_samples, 2, 1))
  
file_path: tf-quant-finance/tf_quant_finance/models/geometric_brownian_motion/geometric_brownian_motion_test_utils_test.py
imports: from absl.testing import parameterized
  import numpy
  import tensorflow.compat.v2
  from tensorflow.python.framework import test_util
  from tf_quant_finance.models.geometric_brownian_motion import geometric_brownian_motion_test_utils
label_desc: Use image node_id 2 for calling the GeometricBrownianMotionTestUtilsTest obj's underlying member method code with example usage: obj.test_generate_sample_paths_shape(dtype) without return types