docstr: Encode and decode to check inverse.
docstr_tok: ["Encode","and","decode","to","check","inverse","."]
code: def _encode_decode(self, proposals, gt_boxes):
      """
      Encode and decode to check inverse.
      """
      proposals_tf = tf.placeholder(tf.float32, shape=proposals.shape)
      gt_boxes_tf = tf.placeholder(tf.float32, shape=gt_boxes.shape)
      deltas_tf = encode_tf(proposals_tf, gt_boxes_tf)
      decoded_gt_boxes_tf = decode_tf(proposals_tf, deltas_tf)
  
      with self.test_session() as sess:
          decoded_gt_boxes = sess.run(
              decoded_gt_boxes_tf,
              feed_dict={
                  proposals_tf: proposals,
                  gt_boxes_tf: gt_boxes,
              },
          )
          self.assertAllClose(decoded_gt_boxes, gt_boxes, atol=1e-04)
  
file_path: luminoth/luminoth/utils/bbox_transform_test.py
imports: import numpy
  import tensorflow
  from luminoth.utils.bbox_transform import encode, decode, clip_boxes
  from luminoth.utils.bbox_transform_tf import encode, decode, clip_boxes
  from luminoth.utils.test.gt_boxes import generate_gt_boxes
label_desc: Use image node_id 4 for calling the BBoxTransformTest obj's underlying member method code with example usage: obj._encode_decode(proposals, gt_boxes) without return types