コード例 #1
0
    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
コード例 #2
0
ファイル: interface.py プロジェクト: frankier/client
 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
コード例 #3
0
 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
コード例 #4
0
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
コード例 #5
0
ファイル: handler.py プロジェクト: sqiangcao99/client
 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)