MCPcopy Create free account
hub / github.com/OpenDriveLab/ReSim / log_every

Method log_every

SwissArmyTransformer/examples/mae/util/misc.py:123–167  ·  view source on GitHub ↗
(self, iterable, print_freq, header=None)

Source from the content-addressed store, hash-verified

121 self.meters[name] = meter
122
123 def log_every(self, iterable, print_freq, header=None):
124 i = 0
125 if not header:
126 header = ''
127 start_time = time.time()
128 end = time.time()
129 iter_time = SmoothedValue(fmt='{avg:.4f}')
130 data_time = SmoothedValue(fmt='{avg:.4f}')
131 space_fmt = ':' + str(len(str(len(iterable)))) + 'd'
132 log_msg = [
133 header,
134 '[{0' + space_fmt + '}/{1}]',
135 'eta: {eta}',
136 '{meters}',
137 'time: {time}',
138 'data: {data}'
139 ]
140 if torch.cuda.is_available():
141 log_msg.append('max mem: {memory:.0f}')
142 log_msg = self.delimiter.join(log_msg)
143 MB = 1024.0 * 1024.0
144 for obj in iterable:
145 data_time.update(time.time() - end)
146 yield obj
147 iter_time.update(time.time() - end)
148 if i % print_freq == 0 or i == len(iterable) - 1:
149 eta_seconds = iter_time.global_avg * (len(iterable) - i)
150 eta_string = str(datetime.timedelta(seconds=int(eta_seconds)))
151 if torch.cuda.is_available():
152 print(log_msg.format(
153 i, len(iterable), eta=eta_string,
154 meters=str(self),
155 time=str(iter_time), data=str(data_time),
156 memory=torch.cuda.max_memory_allocated() / MB))
157 else:
158 print(log_msg.format(
159 i, len(iterable), eta=eta_string,
160 meters=str(self),
161 time=str(iter_time), data=str(data_time)))
162 i += 1
163 end = time.time()
164 total_time = time.time() - start_time
165 total_time_str = str(datetime.timedelta(seconds=int(total_time)))
166 print('{} Total time: {} ({:.4f} s / it)'.format(
167 header, total_time_str, total_time / len(iterable)))
168
169
170def setup_for_distributed(is_master):

Callers

nothing calls this directly

Calls 4

updateMethod · 0.95
appendMethod · 0.80
SmoothedValueClass · 0.70
printFunction · 0.70

Tested by

no test coverage detected