code: def test_tensorflow_dropout(
      *,
      dtype_x_noiseshape,
      frontend,
      test_flags,
      fn_tree,
      backend_fw,
      on_device,
  ):
      (x_dtype, x), noise_shape, seed, rate = dtype_x_noiseshape
      if rate == 0:
          helpers.test_frontend_function(
              input_dtypes=x_dtype,
              backend_to_test=backend_fw,
              frontend=frontend,
              test_flags=test_flags,
              fn_tree=fn_tree,
              on_device=on_device,
              x=x[0],
              rate=rate,
              noise_shape=noise_shape,
              seed=seed,
          )
      else:
          ret = helpers.test_frontend_function(
              input_dtypes=x_dtype,
              backend_to_test=backend_fw,
              frontend=frontend,
              test_flags=test_flags,
              fn_tree=fn_tree,
              on_device=on_device,
              test_values=False,
              x=x[0],
              rate=rate,
              noise_shape=noise_shape,
              seed=seed,
          )
          ret = helpers.flatten_and_to_np(ret=ret, backend=backend_fw)
          for u in ret:
              # cardinality test
              assert u.shape == x[0].shape
  
imports: from hypothesis import assume, strategies
  import ivy_tests.test_ivy.helpers
  from ivy_tests.test_ivy.helpers import handle_frontend_test
  from ivy_tests.test_ivy.test_functional.test_core.test_statistical import _statistical_dtype_values
  from ivy_tests.test_ivy.test_functional.test_nn.test_layers import _assume_tf_dilation_gt_1, _output_shape
label_desc: Use image node_id 28 for calling a global function with example usage: test_tensorflow_dropout() without return types