def _make_summary(self, summary_record: sr.SummaryRecord): pb_summary_record = wandb_internal_pb2.SummaryRecord() for item in summary_record.update: pb_summary_item = pb_summary_record.update.add() key_length = len(item.key) assert key_length > 0 if key_length > 1: pb_summary_item.nested_key.extend(item.key) else: pb_summary_item.key = item.key[0] path_from_root = ".".join(item.key) json_value = self._summary_encode(item.value, path_from_root) json_value, _ = json_friendly(json_value) pb_summary_item.value_json = json.dumps( json_value, cls=WandBJSONEncoderOld, ) for item in summary_record.remove: pb_summary_item = pb_summary_record.remove.add() key_length = len(item.key) assert key_length > 0 if key_length > 1: pb_summary_item.nested_key.extend(item.key) else: pb_summary_item.key = item.key[0] return pb_summary_record
def _make_summary_from_dict(self, summary_dict: dict) -> pb.SummaryRecord: summary = pb.SummaryRecord() for k, v in six.iteritems(summary_dict): update = summary.update.add() update.key = k update.value_json = json.dumps(v) return summary
def _make_summary_from_dict(self, summary_dict): summary = wandb_internal_pb2.SummaryRecord() for k, v in six.iteritems(summary_dict): update = summary.update.add() update.key = k update.value_json = json.dumps(v) return summary
def make_summary(summary_dict, obj=None): summary = obj or wandb_internal_pb2.SummaryRecord() for k, v in six.iteritems(summary_dict): update = summary.update.add() update.key = k update.value_json = json.dumps(v) return summary
def _save_summary(self, summary_dict: SummaryDict, flush: bool = False) -> None: summary = wandb_internal_pb2.SummaryRecord() for k, v in six.iteritems(summary_dict): update = summary.update.add() update.key = k update.value_json = json.dumps(v) record = wandb_internal_pb2.Record(summary=summary) if flush: self._dispatch_record(record) elif not self._settings._offline: self._sender_q.put(record)