code: def test_convolution_backward(self):
      # No opinfos for ops that are not part of the Python API
      # Also, as the return shapes are the input, weight, and bias shape, there is no point
      # in a really complicated test
  
      input = torch.randn(
          (16, 16, 8, 8),
          dtype=torch.float32,
          device="cpu",
          requires_grad=True,
      )
      weight = torch.randn(
          (8, 4, 3, 3),
          dtype=torch.float32,
          device="cpu",
          requires_grad=True,
      )
      out_grad = torch.randn(
          (16, 8, 8, 8), dtype=torch.float32, device="cpu"
      )
  
      @torch.jit.script
      def conv_bwd(input, weight, grad):
          bias_sizes = [
              8,
          ]
          args = (
              [1, 1],
              [1, 1],
              [1, 1],
              False,
              [0, 0],
              4,
              [True, True, True],
          )
          return torch.ops.aten.convolution_backward(
              grad, input, weight, bias_sizes, *args
          )
  
      self.assert_shape_equal_scripted(
          conv_bwd, (input, weight, out_grad)
      )
  
      @torch.jit.script
      def conv_bwd_2(input, weight, grad):
          bias_sizes = None
          args = (
              [1, 1],
              [1, 1],
              [1, 1],
              False,
              [0, 0],
              4,
              [True, True, True],
          )
          return torch.ops.aten.convolution_backward(
              grad, input, weight, bias_sizes, *args
          )
  
      self.assert_shape_equal_scripted(
          conv_bwd_2, (input, weight, out_grad)
      )
  
imports: import operator
  import unittest
  from textwrap import dedent
  import torch
  from torch import nn, Tensor
  from torch.testing import FileCheck
  from torch.testing._internal.common_methods_invocations import sample_inputs_cat_concat
  from torch.testing._internal.common_utils import make_tensor
  from torch.testing._internal.jit_utils import JitTestCase, execWrapper
  from typing import List, Any
label_desc: Use image node_id 18 for calling the TestSymbolicShapeAnalysis obj's underlying member method code with example usage: obj.test_convolution_backward() and returns: torch, torch