MCPcopy Create free account
hub / github.com/FoundationVision/ByteTrack / after_iter

Method after_iter

yolox/core/trainer.py:218–260  ·  view source on GitHub ↗

`after_iter` contains two parts of logic: * log information * reset setting of resize

(self)

Source from the content-addressed store, hash-verified

216 pass
217
218 def after_iter(self):
219 """
220 `after_iter` contains two parts of logic:
221 * log information
222 * reset setting of resize
223 """
224 # log needed information
225 if (self.iter + 1) % self.exp.print_interval == 0:
226 # TODO check ETA logic
227 left_iters = self.max_iter * self.max_epoch - (self.progress_in_iter + 1)
228 eta_seconds = self.meter["iter_time"].global_avg * left_iters
229 eta_str = "ETA: {}".format(datetime.timedelta(seconds=int(eta_seconds)))
230
231 progress_str = "epoch: {}/{}, iter: {}/{}".format(
232 self.epoch + 1, self.max_epoch, self.iter + 1, self.max_iter
233 )
234 loss_meter = self.meter.get_filtered_meter("loss")
235 loss_str = ", ".join(
236 ["{}: {:.3f}".format(k, v.latest) for k, v in loss_meter.items()]
237 )
238
239 time_meter = self.meter.get_filtered_meter("time")
240 time_str = ", ".join(
241 ["{}: {:.3f}s".format(k, v.avg) for k, v in time_meter.items()]
242 )
243
244 logger.info(
245 "{}, mem: {:.0f}Mb, {}, {}, lr: {:.3e}".format(
246 progress_str,
247 gpu_mem_usage(),
248 time_str,
249 loss_str,
250 self.meter["lr"].latest,
251 )
252 + (", size: {:d}, {}".format(self.input_size[0], eta_str))
253 )
254 self.meter.clear_meters()
255
256 # random resizing
257 if self.exp.random_size is not None and (self.progress_in_iter + 1) % 10 == 0:
258 self.input_size = self.exp.random_resize(
259 self.train_loader, self.epoch, self.rank, self.is_distributed
260 )
261
262 @property
263 def progress_in_iter(self):

Callers 1

train_in_iterMethod · 0.95

Calls 4

gpu_mem_usageFunction · 0.90
get_filtered_meterMethod · 0.80
clear_metersMethod · 0.80
random_resizeMethod · 0.80

Tested by

no test coverage detected