code: def _call_conv2d_transpose(
      x,
      kernel,
      filter_shape,
      strides,
      padding,
      dilations,
      c_out,
      batch_shape,
      event_shape,
  ):
      """Call `tf.nn.conv2d_transpose` (for kernels with no batch dimensions)."""
      fh, fw = filter_shape
      flat_x = tf.reshape(
          x, shape=ps.concat([[-1], event_shape], axis=0)
      )
      output_shape, strides_ = _get_output_shape(
          rank=2,
          strides=strides,
          padding=padding,
          dilations=dilations,
          input_shape=ps.shape(flat_x),
          output_size=c_out,
          filter_shape=filter_shape,
      )
      flat_y = tf.nn.conv2d_transpose(
          flat_x,
          filters=tf.transpose(
              tf.reshape(kernel, shape=[fh, fw, event_shape[-1], -1]),
              perm=[0, 1, 3, 2],
          ),
          output_shape=output_shape,
          strides=strides_,
          padding=padding,
          data_format="NHWC",
          dilations=dilations,
      )
      return tf.reshape(
          flat_y,
          shape=ps.concat([batch_shape, output_shape[-3:]], axis=0),
      )
  
imports: import tensorflow.compat.v2
  from tensorflow_probability.python.experimental.nn.util import utils
  from tensorflow_probability.python.internal import assert_util
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import prefer_static
label_desc: Use image node_id 17 for calling a global function with example usage: _call_conv2d_transpose(x, kernel, filter_shape, strides, padding, dilations, c_out, batch_shape, event_shape) and returns: tf