code: def __init__(
      self,
      filename,
      *,
      separator: str = ",",
      append: bool = False,
      temporary_filename: Optional[str] = None,
      **kwargs,
  ) -> None:
      super().__init__(**kwargs)
      self.filename = filename
      self.temporary_filename = temporary_filename
      self.separator = separator
      self.append = append
      self.fieldnames = []
  
imports: import csv
  import os
  from typing import Dict, List, Optional, TextIO, Union
  import torch
  from poutyne.framework.callbacks._utils import atomic_lambda_save
  from poutyne.framework.callbacks.callbacks import Callback
label_desc: Use image node_id 1 to create a new AtomicCSVGradientLogger object from inherited base classes: GradientLoggerBase with example: obj = AtomicCSVGradientLogger(filename)