(self, iterable, print_freq, header=None)
| 191 | self.meters[name] = meter |
| 192 | |
| 193 | def log_every(self, iterable, print_freq, header=None): |
| 194 | i = 0 |
| 195 | if not header: |
| 196 | header = '' |
| 197 | start_time = time.time() |
| 198 | end = time.time() |
| 199 | iter_time = SmoothedValue(fmt='{avg:.4f}') |
| 200 | data_time = SmoothedValue(fmt='{avg:.4f}') |
| 201 | space_fmt = ':' + str(len(str(len(iterable)))) + 'd' |
| 202 | if torch.cuda.is_available(): |
| 203 | log_msg = self.delimiter.join([ |
| 204 | header, |
| 205 | '[{0' + space_fmt + '}/{1}]', |
| 206 | 'eta: {eta}', |
| 207 | '{meters}', |
| 208 | 'time: {time}', |
| 209 | 'data: {data}', |
| 210 | 'max mem: {memory:.0f}' |
| 211 | ]) |
| 212 | else: |
| 213 | log_msg = self.delimiter.join([ |
| 214 | header, |
| 215 | '[{0' + space_fmt + '}/{1}]', |
| 216 | 'eta: {eta}', |
| 217 | '{meters}', |
| 218 | 'time: {time}', |
| 219 | 'data: {data}' |
| 220 | ]) |
| 221 | MB = 1024.0 * 1024.0 |
| 222 | for obj in iterable: |
| 223 | data_time.update(time.time() - end) |
| 224 | yield obj |
| 225 | iter_time.update(time.time() - end) |
| 226 | if i % print_freq == 0 or i == len(iterable) - 1: |
| 227 | eta_seconds = iter_time.global_avg * (len(iterable) - i) |
| 228 | eta_string = str(datetime.timedelta(seconds=int(eta_seconds))) |
| 229 | if torch.cuda.is_available(): |
| 230 | print(log_msg.format( |
| 231 | i, len(iterable), eta=eta_string, |
| 232 | meters=str(self), |
| 233 | time=str(iter_time), data=str(data_time), |
| 234 | memory=torch.cuda.max_memory_allocated() / MB)) |
| 235 | else: |
| 236 | print(log_msg.format( |
| 237 | i, len(iterable), eta=eta_string, |
| 238 | meters=str(self), |
| 239 | time=str(iter_time), data=str(data_time))) |
| 240 | i += 1 |
| 241 | end = time.time() |
| 242 | total_time = time.time() - start_time |
| 243 | total_time_str = str(datetime.timedelta(seconds=int(total_time))) |
| 244 | print('{} Total time: {} ({:.4f} s / it)'.format( |
| 245 | header, total_time_str, total_time / len(iterable))) |
| 246 | |
| 247 | |
| 248 | def get_sha(): |
nothing calls this directly
no test coverage detected