class_docstr: The :class:`Conv2dLayer` class is a 2D CNN layer, see `tf.nn.conv2d <https://tensorflow.google.cn/versions/r2.0/api_docs/python/tf/nn/conv2d>`__.
  
  Parameters
  ----------
  act : activation function
      The activation function of this layer.
  shape : tuple of int
      The shape of the filters: (filter_height, filter_width, in_channels, out_channels).
  strides : tuple of int
      The sliding window strides of corresponding input dimensions.
      It must be in the same order as the ``shape`` parameter.
  padding : str
      The padding algorithm type: "SAME" or "VALID".
  data_format : str
      "NHWC" or "NCHW", default is "NHWC".
  dilation_rate : tuple of int
      Filter up-sampling/input down-sampling rate.
  W_init : initializer
      The initializer for the weight matrix.
  b_init : initializer or None
      The initializer for the bias vector. If None, skip biases.
  name : None or str
      A unique layer name.
  
  Notes
  -----
  - shape = [h, w, the number of output channel of previous layer, the number of output channels]
  - the number of output channel of a layer is its last dimension.
  
  Examples
  --------
  With TensorLayer
  
  >>> net = tl.layers.Input([8, 28, 28, 1], name='input')
  >>> conv2d = tl.layers.Conv2dLayer(shape=(5, 5, 1, 32), strides=(1, 1, 1, 1), b_init=None, name='conv2d_1')
  >>> print(conv2d)
  >>> tensor = tl.layers.Conv2dLayer(shape=(5, 5, 1, 32), strides=(1, 1, 1, 1), act=tf.nn.relu, name='conv2d_2')(net)
  >>> print(tensor)
code: def __repr__(self):
      actstr = (
          self.act.__name__ if self.act is not None else "No Activation"
      )
      s = (
          "{classname}(in_channels={in_channels}, out_channels={n_filter}, kernel_size={filter_size}"
          ", strides={strides}, padding={padding}"
      )
      if self.dilation_rate != [
          1,
      ] * len(self.dilation_rate):
          s += ", dilation={dilation_rate}"
      if self.b_init is None:
          s += ", bias=False"
      s += ", " + actstr
      if self.name is not None:
          s += ", name='{name}'"
      s += ")"
      return s.format(
          classname=self.__class__.__name__, **self.__dict__
      )
  
imports: import tensorflow
  import tensorlayer
  from tensorlayer import logging
  from tensorlayer.decorators import deprecated_alias
  from tensorlayer.layers.core import Layer
label_desc: Use image node_id 2 for calling the Conv2dLayer obj's underlying member method code with example usage: obj.__repr__() and returns: s