code: def __init__(
      self,
      batch_frequency=2000,
      max_images=4,
      clamp=True,
      increase_log_steps=True,
      rescale=True,
      disabled=False,
      log_on_batch_idx=False,
      log_first_step=False,
      log_images_kwargs=None,
  ):
      super().__init__()
      self.rescale = rescale
      self.batch_freq = batch_frequency
      self.max_images = max_images
      if not increase_log_steps:
          self.log_steps = [self.batch_freq]
      self.clamp = clamp
      self.disabled = disabled
      self.log_on_batch_idx = log_on_batch_idx
      self.log_images_kwargs = (
          log_images_kwargs if log_images_kwargs else {}
      )
      self.log_first_step = log_first_step
  
file_path: NeMo/nemo/collections/multimodal/models/text_to_image/controlnet/util.py
imports: import os
  import numpy
  import torch
  import torchvision
  from PIL import Image
  from pytorch_lightning import Callback
  from pytorch_lightning.utilities.rank_zero import rank_zero_only
label_desc: Use image node_id 1 to create a new ImageLogger object from inherited base classes: Callback with example: obj = ImageLogger(batch_frequency, max_images, clamp, increase_log_steps, rescale, disabled, log_on_batch_idx, log_first_step, log_images_kwargs)