class_docstr: Writes entries directly to event files in the log_dir to be consumed by TensorBoard.
  
  The `SummaryWriter` class provides a high-level API to create an event file
  in a given directory and add summaries and events to it. The class updates the
  file contents asynchronously. This allows a training program to call methods
  to add data to the file directly from the training loop, without slowing down
  training.
class_docstr_tok: ["Writes","entries","directly","to","event","files","in","the","log_dir","to","be","consumed","by","TensorBoard",".","The","`","SummaryWriter","`","class","provides","a","high-level","API","to","create","an","event","file","in","a","given","directory","and","add","summaries","and","events","to","it",".","The","class","updates","the","file","contents","asynchronously",".","This","allows","a","training","program","to","call","methods","to","add","data","to","the","file","directly","from","the","training","loop",",","without","slowing","down","training","."]
docstr: Add batched image data to summary.
  
  Note that this requires the ``pillow`` package.
  
  Args:
      tag (str): Data identifier
      img_tensor (torch.Tensor, numpy.ndarray, or string/blobname): Image data
      global_step (int): Global step value to record
      walltime (float): Optional override default walltime (time.time())
        seconds after epoch of event
      dataformats (str): Image data format specification of the form
        NCHW, NHWC, CHW, HWC, HW, WH, etc.
  Shape:
      img_tensor: Default is :math:`(N, 3, H, W)`. If ``dataformats`` is specified, other shape will be
      accepted. e.g. NCHW or NHWC.
  
  Examples::
  
      from torch.utils.tensorboard import SummaryWriter
      import numpy as np
  
      img_batch = np.zeros((16, 3, 100, 100))
      for i in range(16):
          img_batch[i, 0] = np.arange(0, 10000).reshape(100, 100) / 10000 / 16 * i
          img_batch[i, 1] = (1 - np.arange(0, 10000).reshape(100, 100) / 10000) / 16 * i
  
      writer = SummaryWriter()
      writer.add_images('my_image_batch', img_batch, 0)
      writer.close()
  
  Expected result:
  
  .. image:: _static/img/tensorboard/add_images.png
     :scale: 30 %
docstr_tok: ["Add","batched","image","data","to","summary",".","Note","that","this","requires","the","``","pillow","``","package",".","Args",":","tag","(","str",")",":","Data","identifier","img_tensor","(","torch.Tensor",",","numpy.ndarray",",","or","string\/blobname",")",":","Image","data","global_step","(","int",")",":","Global","step","value","to","record","walltime","(","float",")",":","Optional","override","default","walltime","(","time.time","(",")",")","seconds","after","epoch","of","event","dataformats","(","str",")",":","Image","data","format","specification","of","the","form","NCHW",",","NHWC",",","CHW",",","HWC",",","HW",",","WH",",","etc",".","Shape",":","img_tensor",":","Default","is",":","math",":","`","(","N",",","3",",","H",",","W",")","`",".","If","``","dataformats","``","is","specified",",","other","shape","will","be","accepted",".","e.g",".","NCHW","or","NHWC",".","Examples",":",":","from","torch.utils.tensorboard","import","SummaryWriter","import","numpy","as","np","img_batch","=","np.zeros","(","(","16",",","3",",","100",",","100",")",")","for","i","in","range","(","16",")",":","img_batch","[","i",",","0","]","=","np.arange","(","0",",","10000",")",".reshape","(","100",",","100",")","\/","10000","\/","16","*","i","img_batch","[","i",",","1","]","=","(","1","-","np.arange","(","0",",","10000",")",".reshape","(","100",",","100",")","\/","10000",")","\/","16","*","i","writer","=","SummaryWriter","(",")","writer.add_images","(","'my_image_batch","'",",","img_batch",",","0",")","writer.close","(",")","Expected","result",":","..","image",":",":","_static\/img\/tensorboard\/add_images.png",":","scale",":","30","%"]
code: def add_images(
      self,
      tag,
      img_tensor,
      global_step=None,
      walltime=None,
      dataformats="NCHW",
  ):
      """Add batched image data to summary.
  
      Note that this requires the ``pillow`` package.
  
      Args:
          tag (str): Data identifier
          img_tensor (torch.Tensor, numpy.ndarray, or string/blobname): Image data
          global_step (int): Global step value to record
          walltime (float): Optional override default walltime (time.time())
            seconds after epoch of event
          dataformats (str): Image data format specification of the form
            NCHW, NHWC, CHW, HWC, HW, WH, etc.
      Shape:
          img_tensor: Default is :math:`(N, 3, H, W)`. If ``dataformats`` is specified, other shape will be
          accepted. e.g. NCHW or NHWC.
  
      Examples::
  
          from torch.utils.tensorboard import SummaryWriter
          import numpy as np
  
          img_batch = np.zeros((16, 3, 100, 100))
          for i in range(16):
              img_batch[i, 0] = np.arange(0, 10000).reshape(100, 100) / 10000 / 16 * i
              img_batch[i, 1] = (1 - np.arange(0, 10000).reshape(100, 100) / 10000) / 16 * i
  
          writer = SummaryWriter()
          writer.add_images('my_image_batch', img_batch, 0)
          writer.close()
  
      Expected result:
  
      .. image:: _static/img/tensorboard/add_images.png
         :scale: 30 %
  
      """
      torch._C._log_api_usage_once("tensorboard.logging.add_images")
      if self._check_caffe2_blob(img_tensor):
          from caffe2.python import workspace
  
          img_tensor = workspace.FetchBlob(img_tensor)
      self._get_file_writer().add_summary(
          image(tag, img_tensor, dataformats=dataformats),
          global_step,
          walltime,
      )
  
imports: import os
  import time
  from typing import List, Optional, Union, TYPE_CHECKING
  import torch
  from tensorboard.compat import tf
  from tensorboard.compat.proto import event_pb2
  from tensorboard.compat.proto.event_pb2 import Event, SessionLog
  from tensorboard.plugins.projector.projector_config_pb2 import ProjectorConfig
  from tensorboard.summary.writer.event_file_writer import EventFileWriter
  from ._convert_np import make_np
  from ._embedding import get_embedding_info, make_mat, make_sprite, make_tsv, write_pbtxt
  from ._onnx_graph import load_onnx_graph
  from ._pytorch_graph import graph
  from ._utils import figure_to_image
  from .summary import audio, custom_scalars, histogram, histogram_raw, hparams, image, image_boxes, mesh, pr_curve, pr_curve_raw, scalar, tensor_proto, text, video
label_desc: Use image node_id 12 for calling the SummaryWriter obj's underlying member method code with example usage: obj.add_images(tag, img_tensor, global_step, walltime, dataformats) without return types