class_docstr: Synchronous Action Prediction and Visualization pipeline with AsyncVis.
class_docstr_tok: ["Synchronous","Action","Prediction","and","Visualization","pipeline","with","AsyncVis","."]
docstr: Make prediction and put the results in `async_vis` task queue.
  Args:
      task (TaskInfo object): task object that contain
          the necessary information for action prediction. (e.g. frames, boxes)
docstr_tok: ["Make","prediction","and","put","the","results","in","`","async_vis","`","task","queue",".","Args",":","task","(","TaskInfo","object",")",":","task","object","that","contain","the","necessary","information","for","action","prediction",".","(","e.g",".","frames",",","boxes",")"]
code: def put(self, task):
      """
      Make prediction and put the results in `async_vis` task queue.
      Args:
          task (TaskInfo object): task object that contain
              the necessary information for action prediction. (e.g. frames, boxes)
      """
      task = self.predictor(task)
      self.async_vis.get_indices_ls.append(task.id)
      self.async_vis.put(task)
  
imports: import queue
  import cv2
  import torch
  from detectron2 import model_zoo
  from detectron2.config import get_cfg
  from detectron2.engine import DefaultPredictor
  import slowfast.utils.checkpoint
  from slowfast.datasets import cv2_transform
  from slowfast.models import build_model
  from slowfast.utils import logging
  from slowfast.visualization.utils import process_cv2_inputs
label_desc: Use image node_id 2 for calling the ActionPredictor obj's underlying member method code with example usage: obj.put(task) without return types