code: def _transpose_helper(draw):
      dtype, x, shape = draw(
          helpers.dtype_and_values(
              available_dtypes=helpers.get_dtypes("valid"),
              min_num_dims=1,
              max_num_dims=4,
              min_dim_size=2,
              max_dim_size=3,
              ret_shape=True,
          )
      )
      perm = draw(st.permutations([i for i in range(len(shape))]))
      return dtype, x, perm
  
imports: import ivy
  from hypothesis import strategies, assume
  import numpy
  import ivy_tests.test_ivy.helpers
  from ivy_tests.test_ivy.helpers import assert_all_close
  from ivy_tests.test_ivy.helpers import handle_frontend_test, matrix_is_stable
  from ivy_tests.test_ivy.test_functional.test_core.test_linalg import _get_dtype_and_matrix
  from ivy_tests.test_ivy.test_frontends.test_tensorflow.test_linalg import _get_second_matrix, _get_cholesky_matrix
  from ivy_tests.test_ivy.test_frontends.test_torch.test_blas_and_lapack_ops import _get_dtype_input_and_mat_vec
label_desc: Use image node_id 6 for calling a global function with example usage: _transpose_helper(draw) and returns: dtype,  x,  perm