(self)
| 353 | self.name2cnt[key] = cnt + 1 |
| 354 | |
| 355 | def dumpkvs(self): |
| 356 | if self.comm is None: |
| 357 | d = self.name2val |
| 358 | else: |
| 359 | d = mpi_weighted_mean( |
| 360 | self.comm, |
| 361 | { |
| 362 | name: (val, self.name2cnt.get(name, 1)) |
| 363 | for (name, val) in self.name2val.items() |
| 364 | }, |
| 365 | ) |
| 366 | if self.comm.rank != 0: |
| 367 | d["dummy"] = 1 # so we don't get a warning about empty dict |
| 368 | out = d.copy() # Return the dict for unit testing purposes |
| 369 | for fmt in self.output_formats: |
| 370 | if isinstance(fmt, KVWriter): |
| 371 | fmt.writekvs(d) |
| 372 | self.name2val.clear() |
| 373 | self.name2cnt.clear() |
| 374 | return out |
| 375 | |
| 376 | def log(self, *args, level=INFO): |
| 377 | if self.level <= level: |
no test coverage detected