MCPcopy Create free account
hub / github.com/bic-L/MaxFormer / log_every

Method log_every

event/utils.py:108–159  ·  view source on GitHub ↗
(self, iterable, print_freq, header=None)

Source from the content-addressed store, hash-verified

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

Callers 2

train_one_epochFunction · 0.95
evaluateFunction · 0.95

Calls 3

updateMethod · 0.95
SmoothedValueClass · 0.70
printFunction · 0.70

Tested by

no test coverage detected