Safemotion Lib
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
fastreid.utils.events.TensorboardXWriter Class Reference
Inheritance diagram for fastreid.utils.events.TensorboardXWriter:
fastreid.utils.events.EventWriter

Public Member Functions

 __init__ (self, str log_dir, int window_size=20, **kwargs)
 
 write (self)
 
 close (self)
 

Protected Attributes

 _window_size
 
 _writer
 
 _last_write
 

Detailed Description

Write all scalars to a tensorboard file.

Definition at line 124 of file events.py.

Constructor & Destructor Documentation

◆ __init__()

fastreid.utils.events.TensorboardXWriter.__init__ ( self,
str log_dir,
int window_size = 20,
** kwargs )
Args:
    log_dir (str): the directory to save the output events
    window_size (int): the scalars will be median-smoothed by this window size
    kwargs: other arguments passed to `torch.utils.tensorboard.SummaryWriter(...)`

Definition at line 129 of file events.py.

129 def __init__(self, log_dir: str, window_size: int = 20, **kwargs):
130 """
131 Args:
132 log_dir (str): the directory to save the output events
133 window_size (int): the scalars will be median-smoothed by this window size
134 kwargs: other arguments passed to `torch.utils.tensorboard.SummaryWriter(...)`
135 """
136 self._window_size = window_size
137 from torch.utils.tensorboard import SummaryWriter
138
139 self._writer = SummaryWriter(log_dir, **kwargs)
140 self._last_write = -1
141

Member Function Documentation

◆ close()

fastreid.utils.events.TensorboardXWriter.close ( self)

Reimplemented from fastreid.utils.events.EventWriter.

Definition at line 168 of file events.py.

168 def close(self):
169 if hasattr(self, "_writer"): # doesn't exist when the code fails at import
170 self._writer.close()
171
172

◆ write()

fastreid.utils.events.TensorboardXWriter.write ( self)

Reimplemented from fastreid.utils.events.EventWriter.

Definition at line 142 of file events.py.

142 def write(self):
143 storage = get_event_storage()
144 new_last_write = self._last_write
145 for k, (v, iter) in storage.latest_with_smoothing_hint(self._window_size).items():
146 if iter > self._last_write:
147 self._writer.add_scalar(k, v, iter)
148 new_last_write = max(new_last_write, iter)
149 self._last_write = new_last_write
150
151 # storage.put_{image,histogram} is only meant to be used by
152 # tensorboard writer. So we access its internal fields directly from here.
153 if len(storage._vis_data) >= 1:
154 for img_name, img, step_num in storage._vis_data:
155 self._writer.add_image(img_name, img, step_num)
156 # Storage stores all image data and rely on this writer to clear them.
157 # As a result it assumes only one writer will use its image data.
158 # An alternative design is to let storage store limited recent
159 # data (e.g. only the most recent image) that all writers can access.
160 # In that case a writer may not see all image data if its period is long.
161 storage.clear_images()
162
163 if len(storage._histograms) >= 1:
164 for params in storage._histograms:
165 self._writer.add_histogram_raw(**params)
166 storage.clear_histograms()
167

Member Data Documentation

◆ _last_write

fastreid.utils.events.TensorboardXWriter._last_write
protected

Definition at line 140 of file events.py.

◆ _window_size

fastreid.utils.events.TensorboardXWriter._window_size
protected

Definition at line 136 of file events.py.

◆ _writer

fastreid.utils.events.TensorboardXWriter._writer
protected

Definition at line 139 of file events.py.


The documentation for this class was generated from the following file: