MCPcopy
hub / github.com/microsoft/Cream / log_every

Method log_every

EfficientViT/classification/utils.py:113–157  ·  view source on GitHub ↗
(self, iterable, print_freq, header=None)

Source from the content-addressed store, hash-verified

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

Callers 2

train_one_epochFunction · 0.95
evaluateFunction · 0.95

Calls 4

updateMethod · 0.95
formatMethod · 0.80
SmoothedValueClass · 0.70
printFunction · 0.70

Tested by

no test coverage detected