code: def deconv2d(
      input_tensor,
      output_dim,
      kernel_size=(3, 3),
      stride_size=(2, 2),
      stddev=0.02,
      name="deconv2d",
      with_w=False,
  ):
      with tf.variable_scope(name):
          # filter : [height, width, output_channels, in_channels]
          w = tf.get_variable(
              "w",
              [
                  kernel_size[0],
                  kernel_size[1],
                  output_dim[-1],
                  input_tensor.get_shape()[-1],
              ],
              initializer=tf.random_normal_initializer(stddev=stddev),
          )
  
          try:
              deconv = tf.nn.conv2d_transpose(
                  input_tensor,
                  w,
                  output_shape=output_dim,
                  strides=[1, stride_size[0], stride_size[1], 1],
              )
  
          # Support for verisons of TensorFlow before 0.7.0
          except AttributeError:
              deconv = tf.nn.deconv2d(
                  input_tensor,
                  w,
                  output_shape=output_dim,
                  strides=[1, stride_size[0], stride_size[1], 1],
              )
  
          biases = tf.get_variable(
              "biases",
              [output_dim[-1]],
              initializer=tf.zeros_initializer(),
          )
          deconv = tf.nn.bias_add(deconv, biases)
  
          if with_w:
              return deconv, w, biases
          else:
              return deconv
  
imports: import tensorflow
label_desc: Use image node_id 3 for calling a global function with example usage: deconv2d(input_tensor, output_dim, kernel_size, stride_size, stddev, name, with_w) and returns: deconv,  w,  biases, deconv