code: def _smallest_size_at_least(height, width, smallest_side):
      """Computes new shape with the smallest side equal to `smallest_side`.
  
      Computes new shape with the smallest side equal to `smallest_side` while
      preserving the original aspect ratio.
  
      Args:
        height: an int32 scalar tensor indicating the current height.
        width: an int32 scalar tensor indicating the current width.
        smallest_side: A python integer or scalar `Tensor` indicating the size of
          the smallest side after resize.
  
      Returns:
        new_height: an int32 scalar tensor indicating the new height.
        new_width: and int32 scalar tensor indicating the new width.
      """
      smallest_side = tf.convert_to_tensor(
          smallest_side, dtype=tf.int32
      )
  
      height = tf.to_float(height)
      width = tf.to_float(width)
      smallest_side = tf.to_float(smallest_side)
  
      scale = tf.cond(
          tf.greater(height, width),
          lambda: smallest_side / width,
          lambda: smallest_side / height,
      )
      new_height = tf.to_int32(height * scale)
      new_width = tf.to_int32(width * scale)
      return new_height, new_width
  
imports: import io
  import os
  import tempfile
  from magenta.models.image_stylization import imagenet_data
  import numpy
  import skimage.io
  import tensorflow.compat.v1
label_desc: Use image node_id 12 for calling a global function with example usage: _smallest_size_at_least(height, width, smallest_side) and returns: new_height,  new_width