class_docstr: Gradient wrt. inputs for `Corr3dMM`.
  
  Notes
  -----
  You will not want to use this directly, but rely on
  PyTensor's automatic differentiation or graph optimization to
  use it as needed.
code: def make_node(self, kern, topgrad, shape=None):
      kern = as_tensor_variable(kern)
      topgrad = as_tensor_variable(topgrad)
      kern, topgrad = self.as_common_dtype(kern, topgrad)
      if kern.type.ndim != 5:
          raise TypeError("kern must be 5D tensor")
      if topgrad.type.ndim != 5:
          raise TypeError("topgrad must be 5D tensor")
      if shape is None:
          if self.subsample != (1, 1, 1):
              raise ValueError(
                  "shape must be given if subsample != (1, 1, 1)"
              )
          height_width_depth = []
      else:
          height_width_depth = [
              as_tensor_variable(shape[0]).astype("int64"),
              as_tensor_variable(shape[1]).astype("int64"),
              as_tensor_variable(shape[2]).astype("int64"),
          ]
  
      if self.num_groups > 1:
          out_shape = [
              1 if topgrad.type.shape[0] == 1 else None,
              None,
              None,
              None,
              None,
          ]
      else:
          out_shape = [
              1 if topgrad.type.shape[0] == 1 else None,
              1 if kern.type.shape[1] == 1 else None,
              False,
              False,
              False,
          ]
      dtype = kern.type.dtype
      return Apply(
          self,
          [kern, topgrad] + height_width_depth,
          [TensorType(dtype, shape=out_shape)()],
      )
  
imports: import logging
  import os
  from typing import Optional
  import pytensor
  from pytensor.configdefaults import config
  from pytensor.graph.basic import Apply
  from pytensor.graph.op import _NoPythonOp
  from pytensor.link.c.op import OpenMPOp
  from pytensor.link.c.params_type import ParamsType
  from pytensor.link.c.type import EnumList
  from pytensor.scalar import int64
  from pytensor.tensor import blas_headers
  from pytensor.tensor.basic import as_tensor_variable
  from pytensor.tensor.blas import blas_header_version, ldflags
  from pytensor.tensor.conv.abstract_conv import get_conv_output_shape
  from pytensor.tensor.type import TensorType
label_desc: Use image node_id 1 for calling the Corr3dMMGradInputs obj's underlying member method code with example usage: obj.make_node(kern, topgrad, shape) and returns: Apply