code: def testExtractRandomVideoPatch(self, num_frames=2):
      with tf.Graph().as_default():
          rng = np.random.RandomState(0)
          video_np = rng.randint(0, 255, size=(12, 20, 256, 256, 3))
          video = tf.convert_to_tensor(video_np)
          video_patch = common_video.extract_random_video_patch(
              video, num_frames=num_frames
          )
          with tf.Session() as sess:
              video_patch_np = sess.run(video_patch)
              if num_frames != -1:
                  self.assertEqual(
                      video_patch_np.shape,
                      (12, num_frames, 256, 256, 3),
                  )
                  self.check_if_patch_exists(
                      video_np, video_patch_np, num_frames
                  )
              else:
                  self.assertTrue(np.allclose(video_np, video_patch_np))
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from absl.testing import parameterized
  import numpy
  from tensor2tensor.layers import common_video
  from tensor2tensor.utils import test_utils
  import tensorflow.compat.v1
label_desc: Use image node_id 12 for calling the CommonVideoTest obj's underlying member method code with example usage: obj.testExtractRandomVideoPatch(num_frames) without return types