code: def decode(roi, deltas, variances=None):
      with tf.name_scope("BoundingBoxTransform/decode"):
          (roi_width, roi_height, roi_urx, roi_ury) = get_width_upright(
              roi
          )
  
          dx, dy, dw, dh = tf.split(deltas, 4, axis=1)
  
          if variances is None:
              variances = [1.0, 1.0]
  
          pred_ur_x = dx * roi_width * variances[0] + roi_urx
          pred_ur_y = dy * roi_height * variances[0] + roi_ury
          pred_w = tf.exp(dw * variances[1]) * roi_width
          pred_h = tf.exp(dh * variances[1]) * roi_height
  
          bbox_x1 = pred_ur_x - 0.5 * pred_w
          bbox_y1 = pred_ur_y - 0.5 * pred_h
  
          # This -1. extra is different from reference implementation.
          bbox_x2 = pred_ur_x + 0.5 * pred_w - 1.0
          bbox_y2 = pred_ur_y + 0.5 * pred_h - 1.0
  
          bboxes = tf.concat(
              [bbox_x1, bbox_y1, bbox_x2, bbox_y2], axis=1
          )
  
          return bboxes
  
imports: import tensorflow
label_desc: Use image node_id 3 for calling a global function with example usage: decode(roi, deltas, variances) and returns: bboxes