code: def local_conv2d_cpu(node):
      if (
          not isinstance(node.op, AbstractConv2d)
          or node.inputs[0].dtype == "float16"
      ):
          return None
  
      img, kern = node.inputs
      if not isinstance(img.type, TensorType) or not isinstance(
          kern.type, TensorType
      ):
          return None
      if node.op.border_mode not in ["full", "valid"]:
          return None
      if not node.op.filter_flip:
          # Not tested yet
          return None
      if node.op.num_groups > 1 or node.op.unshared:
          return None
      if node.op.filter_dilation != (1, 1):
          return None
  
      rval = conv2d(
          img,
          kern,
          node.op.imshp,
          node.op.kshp,
          border_mode=node.op.border_mode,
          subsample=node.op.subsample,
      )
  
      copy_stack_trace(node.outputs[0], rval)
      return [rval]
  
imports: from __future__ import absolute_import, print_function, division
  import theano
  from theano import compile, gof
  from theano.compile import optdb
  from theano.gof import local_optimizer
  from theano.gof.opt import copy_stack_trace
  from theano.tensor.nnet.corr import CorrMM, CorrMM_gradInputs, CorrMM_gradWeights
  from theano.tensor.nnet.corr3d import Corr3dMM, Corr3dMM_gradInputs, Corr3dMM_gradWeights
  from theano.tensor.nnet.blocksparse import SparseBlockGemv, SparseBlockOuter, sparse_block_gemv_inplace, sparse_block_outer_inplace
  from theano.tensor.nnet.abstract_conv import AbstractConv2d, AbstractConv2d_gradWeights, AbstractConv2d_gradInputs
  from theano.tensor.nnet.abstract_conv import AbstractConv3d, AbstractConv3d_gradWeights, AbstractConv3d_gradInputs
  from theano.tensor.nnet.abstract_conv import get_conv_output_shape
  from theano.tensor.opt import register_specialize_device
  from theano.tensor import TensorType
  from theano.tensor import opt
  from theano.tensor.nnet.conv import conv2d, ConvOp
label_desc: Use image node_id 9 for calling a global function with example usage: local_conv2d_cpu(node) and returns: list, None, None, None, None, None, None