MCPcopy
hub / github.com/yerfor/GeneFacePlusPlus / CSVOutputFormat

Class CSVOutputFormat

modules/commons/improved_diffusion/logger.py:113–147  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

111
112
113class CSVOutputFormat(KVWriter):
114 def __init__(self, filename):
115 self.file = open(filename, "w+t")
116 self.keys = []
117 self.sep = ","
118
119 def writekvs(self, kvs):
120 # Add our current row to the history
121 extra_keys = list(kvs.keys() - self.keys)
122 extra_keys.sort()
123 if extra_keys:
124 self.keys.extend(extra_keys)
125 self.file.seek(0)
126 lines = self.file.readlines()
127 self.file.seek(0)
128 for (i, k) in enumerate(self.keys):
129 if i > 0:
130 self.file.write(",")
131 self.file.write(k)
132 self.file.write("\n")
133 for line in lines[1:]:
134 self.file.write(line[:-1])
135 self.file.write(self.sep * len(extra_keys))
136 self.file.write("\n")
137 for (i, k) in enumerate(self.keys):
138 if i > 0:
139 self.file.write(",")
140 v = kvs.get(k)
141 if v is not None:
142 self.file.write(str(v))
143 self.file.write("\n")
144 self.file.flush()
145
146 def close(self):
147 self.file.close()
148
149
150class TensorBoardOutputFormat(KVWriter):

Callers 1

make_output_formatFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected