code: def _get_convolution_transpose_fn(strides, method):
      """Selects which `convolution_transpose_fn_*` to use."""
      strides_ = tf.nest.flatten(
          tf.nest.map_structure(tf.get_static_value, strides)
      )
      cpu_method = "subkernel_matrix"
      if any(s is None for s in strides_) or len(set(strides_)) > 1:
          if method == "subkernel_matrix":
              raise ValueError(
                  "Transpose convolution method `subkernel_matrix` requires "
                  "statically-known strides that are equal along each dimension."
              )
          else:
              cpu_method = "subkernels"
  
      # If the transposed convolution method is not provided, dispatch on GPU
      # availability.
      if method == "auto":
          if tf.constant([]).device.split(":")[-2].upper() == "GPU":
              method = "dilation"  # faster on GPU
          else:
              method = cpu_method
  
      if method == "subkernels":
          return (
              convolution_util.make_convolution_transpose_fn_with_subkernels
          )
      elif method == "dilation":
          return (
              convolution_util.make_convolution_transpose_fn_with_dilation
          )
      elif method == "subkernel_matrix":
          return (
              convolution_util.make_convolution_transpose_fn_with_subkernels_matrix
          )
      raise ValueError(
          "Argument `method` must be one of `auto`, `subkernels`, "
          "`subkernels_matrix` or `dilation`. Saw: {}".format(method)
      )
  
file_path: probability/tensorflow_probability/python/experimental/nn/convolutional_transpose_layers.py
imports: import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import distribution
  from tensorflow_probability.python.experimental.nn import layers
  from tensorflow_probability.python.experimental.nn import variational_base
  from tensorflow_probability.python.experimental.nn.util import convolution_util
  from tensorflow_probability.python.experimental.nn.util import kernel_bias
  from tensorflow_probability.python.internal import prefer_static
label_desc: Use image node_id 1 for calling a global function with example usage: _get_convolution_transpose_fn(strides, method) and returns: convolution_util, convolution_util, convolution_util