MCPcopy Create free account
hub / github.com/PolymathicAI/AstroCLIP / log_every

Method log_every

astroclip/astrodino/utils.py:80–152  ·  view source on GitHub ↗
(
        self, iterable, print_freq, header=None, n_iterations=None, start_iteration=0
    )

Source from the content-addressed store, hash-verified

78 pass
79
80 def log_every(
81 self, iterable, print_freq, header=None, n_iterations=None, start_iteration=0
82 ):
83 i = start_iteration
84 if not header:
85 header = ""
86 start_time = time.time()
87 end = time.time()
88 iter_time = SmoothedValue(fmt="{avg:.6f}")
89 data_time = SmoothedValue(fmt="{avg:.6f}")
90
91 if n_iterations is None:
92 n_iterations = len(iterable)
93
94 space_fmt = ":" + str(len(str(n_iterations))) + "d"
95
96 log_list = [
97 header,
98 "[{0" + space_fmt + "}/{1}]",
99 "eta: {eta}",
100 "{meters}",
101 "time: {time}",
102 "data: {data}",
103 ]
104 if torch.cuda.is_available():
105 log_list += ["max mem: {memory:.0f}"]
106
107 log_msg = self.delimiter.join(log_list)
108 MB = 1024.0 * 1024.0
109 for obj in iterable:
110 data_time.update(time.time() - end)
111 yield obj
112 iter_time.update(time.time() - end)
113 if i % print_freq == 0 or i == n_iterations - 1:
114 self.dump_in_output_file(
115 iteration=i, iter_time=iter_time.avg, data_time=data_time.avg
116 )
117 eta_seconds = iter_time.global_avg * (n_iterations - i)
118 eta_string = str(datetime.timedelta(seconds=int(eta_seconds)))
119 if torch.cuda.is_available():
120 logger.info(
121 log_msg.format(
122 i,
123 n_iterations,
124 eta=eta_string,
125 meters=str(self),
126 time=str(iter_time),
127 data=str(data_time),
128 memory=torch.cuda.max_memory_allocated() / MB,
129 )
130 )
131 else:
132 logger.info(
133 log_msg.format(
134 i,
135 n_iterations,
136 eta=eta_string,
137 meters=str(self),

Callers 1

do_trainFunction · 0.95

Calls 3

updateMethod · 0.95
dump_in_output_fileMethod · 0.95
SmoothedValueClass · 0.85

Tested by

no test coverage detected