code: def conv(
      inputs,
      kernel,
      strides=1,
      padding="valid",
      data_format=None,
      dilation_rate=1,
  ):
      def _conv():
          tf_data_format = _convert_data_format(
              data_format, len(inputs.shape)
          )
          return tf.nn.convolution(
              inputs,
              kernel,
              strides,
              padding.upper(),
              data_format=tf_data_format,
              dilations=dilation_rate,
          )
  
      # Reason for making this function is in Tensorflow, `groups > 1` does not
      # work on CPU for `tf.nn.convolution`, but wrapping it by XLA works.
      @tf.function(jit_compile=True)
      def _conv_xla():
          return _conv()
  
      data_format = standardize_data_format(data_format)
      if data_format == "channels_last":
          channels = inputs.shape[-1]
      else:
          channels = inputs.shape[1]
      if channels != kernel.shape[-2]:
          # If kernel's in_channel does not match input's channels,  it indicates
          # convolution is broken down into groups.
          return _conv_xla()
      return _conv()
  
imports: import warnings
  import tensorflow
  from keras.backend import standardize_data_format
  from keras.backend import standardize_dtype
  from keras.backend.common.backend_utils import compute_conv_transpose_output_shape
  from keras.backend.config import epsilon
  from keras.backend.tensorflow.core import cast
  from keras.backend.tensorflow.core import convert_to_tensor
label_desc: Use image node_id 22 for calling a global function with example usage: conv(inputs, kernel, strides, padding, data_format, dilation_rate) and returns: _conv, tf, _conv, _conv_xla