code: def array_for_adaptive(
      draw,
      num_dims=3,
      max_dim_size=8,
      min_dim_size=3,
      num_out_size=2,
  ):
      dtypes, arrays = draw(
          helpers.dtype_and_values(
              available_dtypes=helpers.get_dtypes("float"),
              min_num_dims=num_dims,
              max_num_dims=num_dims,
              min_dim_size=min_dim_size,
              max_dim_size=max_dim_size,
          )
      )
      size = draw(
          helpers.list_of_size(
              x=helpers.ints(min_value=3, max_value=5),
              size=num_out_size,
          )
      )
      output_size = size[0] if num_out_size == 1 else size
      data_format = draw(st.sampled_from(["NCHW", "NHWC"]))
      return dtypes, arrays, output_size, data_format
  
imports: import numpy
  from hypothesis import assume
  from hypothesis import strategies
  import ivy
  import ivy_tests.test_ivy.helpers
  from ivy.data_classes.container import Container
  from ivy.functional.ivy.gradients import _variable
  from ivy.functional.ivy.layers import _deconv_length
  from ivy_tests.test_ivy.helpers import handle_method
  from ivy_tests.test_ivy.helpers.assertions import assert_same_type_and_shape
  from ivy_tests.test_ivy.test_functional.test_experimental.test_nn import test_layers
  from ivy_tests.test_ivy.test_functional.test_experimental.test_nn.test_layers import _valid_dct
label_desc: Use image node_id 8 for calling a global function with example usage: array_for_adaptive(draw, num_dims, max_dim_size, min_dim_size, num_out_size) and returns: dtypes,  arrays,  output_size,  data_format