class_docstr: Note: is ACTUALLY a cross-correlation i.e. weights are not 'flipped'
class_docstr_tok: ["Note",":","is","ACTUALLY","a","cross-correlation","i.e",".","weights","are","not","'flipped","'"]
docstr: Note: this is ACTUALLY a cross-correlation,
      i.e. the weights are not 'flipped' as for a convolution.
      This is the tensorflow behaviour.
docstr_tok: ["Note",":","this","is","ACTUALLY","a","cross-correlation",",","i.e",".","the","weights","are","not","'flipped","'","as","for","a","convolution",".","This","is","the","tensorflow","behaviour","."]
code: def __init__(
      self, kernel, bias, strides, padding, data_format, **kwargs
  ):
      """
      Note: this is ACTUALLY a cross-correlation,
          i.e. the weights are not 'flipped' as for a convolution.
          This is the tensorflow behaviour.
      """
      super(Conv2D, self).__init__(**kwargs)
      # kernel has dimensions:
      # rows_kern_width x cols_kern_width x inp_channels x num output channels
      self.kernel = kernel
      self.bias = bias
      self.strides = strides
      self.padding = padding
      self.data_format = data_format
      if data_format not in ["channels_last", "channels_first"]:
          raise NotImplementedError(
              data_format + " data format" + " not implemented"
          )
  
imports: from __future__ import division
  from __future__ import print_function
  from __future__ import absolute_import
  from .core import *
  from .helper_functions import conv1d_transpose_via_conv2d
  from .None import helper_functions
  import tensorflow
label_desc: Use image node_id 1 to create a new Conv2D object from inherited base classes: Conv with example: obj = Conv2D(kernel, bias, strides, padding, data_format)