docstr: Clips boxes to image shape using both the TensorFlow and the Numpy
  implementation.
  
  Asserts that both results are equal.
docstr_tok: ["Clips","boxes","to","image","shape","using","both","the","TensorFlow","and","the","Numpy","implementation",".","Asserts","that","both","results","are","equal","."]
code: def _clip_boxes(self, proposals, image_shape):
      """
      Clips boxes to image shape using both the TensorFlow and the Numpy
      implementation.
  
      Asserts that both results are equal.
      """
      proposals_tf = tf.placeholder(tf.float32, shape=proposals.shape)
      image_shape_tf = tf.placeholder(tf.int32, shape=(2,))
      clipped_tf = clip_boxes_tf(proposals, image_shape_tf)
      with self.test_session() as sess:
          clipped_tf_val = sess.run(
              clipped_tf,
              feed_dict={
                  proposals_tf: proposals,
                  image_shape_tf: image_shape,
              },
          )
  
      clipped_np_val = clip_boxes_np(proposals, image_shape)
      self.assertAllClose(clipped_np_val, clipped_tf_val)
      return clipped_np_val
  
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 5 for calling the BBoxTransformTest obj's underlying member method code with example usage: obj._clip_boxes(proposals, image_shape) and returns: clipped_np_val