class_docstr: Helper class to log information to Tensorboard.
class_docstr_tok: ["Helper","class","to","log","information","to","Tensorboard","."]
docstr: Add input to tensorboard SummaryWriter as a video.
  Args:
      vid_tensor (tensor): shape of (B, T, C, H, W). Values should lie
          [0, 255] for type uint8 or [0, 1] for type float.
      tag (Optional[str]): name of the video.
      global_step(Optional[int]): current step.
      fps (int): frames per second.
docstr_tok: ["Add","input","to","tensorboard","SummaryWriter","as","a","video",".","Args",":","vid_tensor","(","tensor",")",":","shape","of","(","B",",","T",",","C",",","H",",","W",")",".","Values","should","lie","[","0",",","255","]","for","type","uint8","or","[","0",",","1","]","for","type","float",".","tag","(","Optional","[","str","]",")",":","name","of","the","video",".","global_step","(","Optional","[","int","]",")",":","current","step",".","fps","(","int",")",":","frames","per","second","."]
code: def add_video(
      self, vid_tensor, tag="Video Input", global_step=None, fps=4
  ):
      """
      Add input to tensorboard SummaryWriter as a video.
      Args:
          vid_tensor (tensor): shape of (B, T, C, H, W). Values should lie
              [0, 255] for type uint8 or [0, 1] for type float.
          tag (Optional[str]): name of the video.
          global_step(Optional[int]): current step.
          fps (int): frames per second.
      """
      self.writer.add_video(
          tag, vid_tensor, global_step=global_step, fps=fps
      )
  
imports: import logging
  import math
  import os
  import matplotlib.pyplot
  import torch
  from torch.utils.tensorboard import SummaryWriter
  from torchvision.utils import make_grid
  import slowfast.utils.logging
  import slowfast.visualization.utils
  from slowfast.utils.misc import get_class_names
label_desc: Use image node_id 4 for calling the TensorboardWriter obj's underlying member method code with example usage: obj.add_video(vid_tensor, tag, global_step, fps) without return types