code: def _tensor_train_data(draw):
      x_dtype, x, shape = draw(
          helpers.dtype_and_values(
              available_dtypes=helpers.get_dtypes("float"),
              min_value=0.1,
              max_value=10,
              min_num_dims=2,
              max_num_dims=5,
              min_dim_size=2,
              max_dim_size=5,
              ret_shape=True,
          ).filter(
              lambda x: "float16" not in x[0] and "bfloat16" not in x[0]
          )
      )
      dims = len(shape)
      rank = [1]
      for i in range(dims - 1):
          rank.append(
              draw(helpers.ints(min_value=1, max_value=shape[i]))
          )
      rank.append(1)
  
      return x_dtype, x[0], rank
  
imports: import math
  from hypothesis import strategies
  from hypothesis import assume
  import numpy
  import pytest
  import itertools
  import ivy_tests.test_ivy.helpers
  from ivy_tests.test_ivy.helpers import handle_test, BackendHandler
  import ivy
label_desc: Use image node_id 17 for calling a global function with example usage: _tensor_train_data(draw) and returns: x_dtype,  x,  rank