class_docstr: Selector that retains at most `k` random frames
class_docstr_tok: ["Selector","that","retains","at","most","`","k","`","random","frames"]
docstr: Select `k` random frames
  
  Args:
    frames_tss (List[int]): timestamps of input frames
  Returns:
    List[int]: timestamps of selected frames
docstr_tok: ["Select","`","k","`","random","frames","Args",":","frames_tss","(","List","[","int","]",")",":","timestamps","of","input","frames","Returns",":","List","[","int","]",":","timestamps","of","selected","frames"]
code: def __call__(self, frame_tss: FrameTsList) -> FrameTsList:
      """
      Select `k` random frames
  
      Args:
        frames_tss (List[int]): timestamps of input frames
      Returns:
        List[int]: timestamps of selected frames
      """
      return random.sample(frame_tss, min(self.k, len(frame_tss)))
  
file_path: detectron2/projects/DensePose/densepose/data/video/frame_selector.py
imports: import random
  from collections.abc import Callable
  from enum import Enum
  from typing import Callable
  from typing import List
label_desc: Use image node_id 2 for calling the RandomKFramesSelector obj's underlying member method code with example usage: obj.__call__(frame_tss) and returns: random