code: def _upfirdn_2d_ref(
      x, k, upx, upy, downx, downy, padx0, padx1, pady0, pady1
  ):
      """Slow reference implementation of `upfirdn_2d()` using standard TensorFlow ops."""
  
      x = tf.convert_to_tensor(x)
      k = np.asarray(k, dtype=np.float32)
      assert x.shape.rank == 4
      inH = x.shape[1].value
      inW = x.shape[2].value
      minorDim = _shape(x, 3)
      kernelH, kernelW = k.shape
      assert inW >= 1 and inH >= 1
      assert kernelW >= 1 and kernelH >= 1
      assert isinstance(upx, int) and isinstance(upy, int)
      assert isinstance(downx, int) and isinstance(downy, int)
      assert isinstance(padx0, int) and isinstance(padx1, int)
      assert isinstance(pady0, int) and isinstance(pady1, int)
  
      # Upsample (insert zeros).
      x = tf.reshape(x, [-1, inH, 1, inW, 1, minorDim])
      x = tf.pad(
          x,
          [[0, 0], [0, 0], [0, upy - 1], [0, 0], [0, upx - 1], [0, 0]],
      )
      x = tf.reshape(x, [-1, inH * upy, inW * upx, minorDim])
  
      # Pad (crop if negative).
      x = tf.pad(
          x,
          [
              [0, 0],
              [max(pady0, 0), max(pady1, 0)],
              [max(padx0, 0), max(padx1, 0)],
              [0, 0],
          ],
      )
      x = x[
          :,
          max(-pady0, 0) : x.shape[1].value - max(-pady1, 0),
          max(-padx0, 0) : x.shape[2].value - max(-padx1, 0),
          :,
      ]
  
      # Convolve with filter.
      x = tf.transpose(x, [0, 3, 1, 2])
      x = tf.reshape(
          x,
          [-1, 1, inH * upy + pady0 + pady1, inW * upx + padx0 + padx1],
      )
      w = tf.constant(
          k[::-1, ::-1, np.newaxis, np.newaxis], dtype=x.dtype
      )
      x = tf.nn.conv2d(
          x,
          w,
          strides=[1, 1, 1, 1],
          padding="VALID",
          data_format="NCHW",
      )
      x = tf.reshape(
          x,
          [
              -1,
              minorDim,
              inH * upy + pady0 + pady1 - kernelH + 1,
              inW * upx + padx0 + padx1 - kernelW + 1,
          ],
      )
      x = tf.transpose(x, [0, 2, 3, 1])
  
      # Downsample (throw away pixels).
      return x[:, ::downy, ::downx, :]
  
file_path: insightface/reconstruction/ostec/external/stylegan2/dnnlib/tflib/ops/upfirdn_2d.py
imports: import os
  import numpy
  import tensorflow
  from ..None import custom_ops
label_desc: Use image node_id 3 for calling a global function with example usage: _upfirdn_2d_ref(x, k, upx, upy, downx, downy, padx0, padx1, pady0, pady1) and returns: x