code: def _output_shape(
      dims, dilation, stride, padding, x_shape, filter_shape
  ):
      if isinstance(padding, str):
          return [
              _deconv_length(
                  x_shape[i],
                  stride[i],
                  filter_shape[i],
                  padding,
                  dilation[i],
              )
              for i in range(dims)
          ]
      else:
          if isinstance(padding, int):
              padding = [[padding, padding]] * dims
          return [
              (x_shape[i] - 1) * stride[i]
              - padding[i][0]
              - padding[i][1]
              + dilation[i] * (filter_shape[i] - 1)
              + 1
              for i in range(dims)
          ]
  
imports: from hypothesis import strategies, assume
  import ivy
  import numpy
  import ivy_tests.test_ivy.helpers
  from ivy_tests.test_ivy.helpers import handle_test
  from ivy.functional.ivy.layers import _deconv_length, _pack_padded_sequence
label_desc: Use image node_id 7 for calling a global function with example usage: _output_shape(dims, dilation, stride, padding, x_shape, filter_shape) and returns: unknown, unknown