docs: def _decode_crop_and_flip(image_buffer, num_channels):
    """Crops the given image to a random part of the image, and randomly flips.
  
    We use the fused decode_and_crop op, which performs better than the two ops
    used separately in series, but note that this requires that the image be
    passed in as an un-decoded string Tensor.
  
    Args:
      image_buffer: scalar string Tensor representing the raw JPEG image buffer.
      num_channels: Integer depth of the image buffer for decoding.
  
    Returns:
      3-D tensor with cropped image.
  
    """
    # A large fraction of image datasets contain a human-annotated bounding box
    # delineating the region of the image containing the object of interest.  We
    # choose to create a new bounding box for the object which is a randomly
    # distorted version of the human-annotated bounding box that obeys an
    # allowed range of aspect ratios, sizes and overlap with the human-annotated
    # bounding box. If no box is supplied, then we assume the bounding box is
    # the entire image.
  
    min_object_covered=0.1
    aspect_ratio_range=[0.75, 1.33]
    area_range=[0.05, 1.0]
    max_attempts=100
  
    mlperf_log.resnet_print(key=mlperf_log.INPUT_DISTORTED_CROP_MIN_OBJ_COV,
                            value=min_object_covered)
    mlperf_log.resnet_print(key=mlperf_log.INPUT_DISTORTED_CROP_RATIO_RANGE,
                            value=aspect_ratio_range)
    mlperf_log.resnet_print(key=mlperf_log.INPUT_DISTORTED_CROP_AREA_RANGE,
                            value=area_range)
    mlperf_log.resnet_print(key=mlperf_log.INPUT_DISTORTED_CROP_MAX_ATTEMPTS,
                            value=max_attempts)
    mlperf_log.resnet_print(key=mlperf_log.INPUT_CROP_USES_BBOXES, value=False)
  
    bbox = tf.constant([0.0, 0.0, 1.0, 1.0],
                       dtype=tf.float32, shape=[1, 1, 4])   #From the entire image
    sample_distorted_bounding_box = tf.image.sample_distorted_bounding_box(
        tf.image.extract_jpeg_shape(image_buffer),
        bounding_boxes=bbox,
        min_object_covered=min_object_covered,
        aspect_ratio_range=aspect_ratio_range,
        area_range=area_range,
        max_attempts=max_attempts,
        use_image_if_no_bounding_boxes=True)
    bbox_begin, bbox_size, _ = sample_distorted_bounding_box
  
    # Reassemble the bounding box in the format the crop op requires.
    offset_y, offset_x, _ = tf.unstack(bbox_begin)
    target_height, target_width, _ = tf.unstack(bbox_size)
    crop_window = tf.stack([offset_y, offset_x, target_height, target_width])
  
    # Use the fused decode and crop op here, which is faster than each in series.
    cropped = tf.image.decode_and_crop_jpeg(
        image_buffer, crop_window, channels=num_channels)
  
    # Flip to add a little more random distortion in.
    mlperf_log.resnet_print(key=mlperf_log.INPUT_RANDOM_FLIP)
    cropped = tf.image.random_flip_left_right(cropped)
    return cropped