Skip to content

Commit

Permalink
add csv format of scalar (#893)
Browse files Browse the repository at this point in the history
  • Loading branch information
ShenYuhan authored Dec 28, 2020
1 parent 13fae54 commit 34b4085
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 7 deletions.
10 changes: 5 additions & 5 deletions visualdl/server/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -122,10 +122,10 @@ def scalar_list(self, run, tag):
key = os.path.join('data/plugin/scalars/scalars', run, tag)
return self._get_with_retry(key, lib.get_scalar, run, tag)

@result('text/tab-separated-values')
def scalar_data(self, run, tag):
key = os.path.join('data/plugin/scalars/data', run, tag)
return self._get_with_retry(key, lib.get_scalar_data, run, tag)
@result('text/csv')
def scalar_data(self, run, tag, type='tsv'):
key = os.path.join('data/plugin/scalars/data', run, tag, type)
return self._get_with_retry(key, lib.get_scalar_data, run, tag, type)

@result()
def image_list(self, mode, tag):
Expand Down Expand Up @@ -222,7 +222,7 @@ def create_api_call(logdir, model, cache_timeout):
'pr-curve/tags': (api.pr_curve_tags, []),
'roc-curve/tags': (api.roc_curve_tags, []),
'scalar/list': (api.scalar_list, ['run', 'tag']),
'scalar/data': (api.scalar_data, ['run', 'tag']),
'scalar/data': (api.scalar_data, ['run', 'tag', 'type']),
'image/list': (api.image_list, ['run', 'tag']),
'image/image': (api.image_image, ['run', 'tag', 'index']),
'audio/list': (api.audio_list, ['run', 'tag']),
Expand Down
5 changes: 3 additions & 2 deletions visualdl/server/lib.py
Original file line number Diff line number Diff line change
Expand Up @@ -125,12 +125,13 @@ def get_scalar(log_reader, run, tag):
return results


def get_scalar_data(log_reader, run, tag):
def get_scalar_data(log_reader, run, tag, type='tsv'):
run = log_reader.name2tags[run] if run in log_reader.name2tags else run
log_reader.load_new_data()
result = log_reader.get_log_data('scalar', run, tag)
delimeter = '\t' if 'tsv' == type else ','
with io.StringIO() as fp:
csv_writer = csv.writer(fp, delimiter='\t')
csv_writer = csv.writer(fp, delimiter=delimeter)
csv_writer.writerow(['id', 'tag', 'timestamp', 'value'])
csv_writer.writerows(result)
result = fp.getvalue()
Expand Down

0 comments on commit 34b4085

Please sign in to comment.