code: def _output_shape(
      dims,
      dilation,
      stride,
      padding,
      output_padding,
      input_shape,
      weight_shape,
  ):
      padding, output_padding = map(
          lambda x: [x] * dims if isinstance(x, int) else x,
          [padding, output_padding],
      )
      return [
          (input_shape[i] - 1) * stride[i]
          - 2 * padding[i]
          + dilation[i] * (weight_shape[i] - 1)
          + output_padding[i]
          + 1
          for i in range(dims)
      ]
  
file_path: ivy/ivy_tests/test_ivy/test_frontends/test_torch/test_nn/test_functional/test_convolution_functions.py
imports: import math
  from hypothesis import strategies, assume
  import ivy_tests.test_ivy.helpers
  from ivy_tests.test_ivy.helpers import handle_frontend_test
  from ivy_tests.test_ivy.test_functional.test_nn.test_layers import _assume_tf_dilation_gt_1
label_desc: Use image node_id 3 for calling a global function with example usage: _output_shape(dims, dilation, stride, padding, output_padding, input_shape, weight_shape) and returns: unknown