Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
VisualDL
提交
5fd20aa8
V
VisualDL
项目概览
PaddlePaddle
/
VisualDL
大约 1 年 前同步成功
通知
88
Star
4655
Fork
642
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
5
Wiki
分析
仓库
DevOps
项目成员
Pages
V
VisualDL
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
5
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
5fd20aa8
编写于
12月 07, 2020
作者:
走神的阿圆
提交者:
GitHub
12月 07, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix docs of LogReader (#860)
上级
dd0f9947
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
47 addition
and
19 deletion
+47
-19
docs/io/LogReader.md
docs/io/LogReader.md
+41
-16
visualdl/reader/reader.py
visualdl/reader/reader.py
+6
-3
未找到文件。
docs/io/LogReader.md
浏览文件 @
5fd20aa8
...
...
@@ -3,14 +3,14 @@
## 简介
VisualDL可通过LogReader获取保存的日志中所有数据,帮助用户进行更详细的分析工作。
##
使用方式
##
LogReader主要方法说明
### 1. 获取LogReader实例
### __init__(file_name)
#### 功能
初始化一个LogReader实例,用于读取指定日志的内容。
LogReader的初始化接口如下:
```
python
class
LogReader
(
file_name
)
```
#### 接口参数
| 参数 | 格式 | 含义 |
...
...
@@ -27,28 +27,53 @@ from visualdl import LogReader
reader
=
LogReader
(
file_name
=
'./log/vdlrecords.1605533348.log'
)
```
### 2. 获取所有数据的tag信息
通过接口
`tags()`
可获取LogReader实例对应日志中的所有数据tag信息,如下:
### get_tags()
#### 功能
获取日志中所有记录的组件及其包括的tag
#### 接口参数
无
#### 示例
```
python
tags
=
reader
.
tags
()
tags
=
reader
.
get_
tags
()
```
结果如下,格式为
`
${file_name}/${tag}:${component_name
}`
结果如下,格式为
`
{component_name1: [tag1, tag2, ... tagn], component_name2: [tag1, tag2, ... tagn]
}`
```
python
{
'vdlrecords.1605533348.log/meta_data_tag'
:
'meta_data'
,
'vdlrecords.1605533348.log/Metrics%Training(Step): loss'
:
'scalar'
,
'vdlrecords.1605533348.log/Metrics%Training(Step): acc1'
:
'scalar'
,
'vdlrecords.1605533348.log/Metrics%Training(Step): acc5'
:
'scalar'
,
'vdlrecords.1605533348.log/Metrics%Training(Step): lr'
:
'scalar'
,
'vdlrecords.1605533348.log/Metrics%Eval(Epoch): acc1'
:
'scalar'
,
'vdlrecords.1605533348.log/Metrics%Eval(Epoch): acc5'
:
'scalar'
}
# 这表示日志中有两个组件,分别是默认的`meta_data`和含有两个tag的`scalar`
{
'meta_data'
:
[
'meta_data_tag'
],
'scalar'
:
[
'tag/train'
,
'tag/test'
]}
```
### 3. 获取某tag对应的数据
通过接口
`get_data(component, tag)`
可获取某组件某tag对应的所有数据,例如:
### get_data(component, tag)
#### 功能
获取指定component(如
`scalar`
、
`image`
等)下某个tag的所有数据,返回值为一个列表
#### 接口参数
| 参数 | 格式 | 含义 |
| --------------- | ------- | ------------------------------------------------------------ |
| component | string | 指定要读取的组件类型,可以为
`scalar`
、
`image`
等|
| tag | string | 指定要读取的tag|
#### 示例
假设要获取tag为
`tag/test`
的数据,则代码如下:
```
python
# 获取scalar组件tag为`Metrics%Training(Step): loss`的数据
data
=
reader
.
get_data
(
'scalar'
,
'Metrics%Training(Step): loss'
)
data
=
reader
.
get_data
(
'scalar'
,
'tag/test'
)
```
结果为列表形式,如下
```
python
...
id
:
5
tag
:
"Metrics/Training(Step):
loss
"
tag
:
"Metrics/Training(Step):
tag%test
"
timestamp
:
1605533356039
value
:
3.1297709941864014
...
```
PS:为了兼容前端URL请求,此处的%是由/替换生成,不影响数据本身
visualdl/reader/reader.py
浏览文件 @
5fd20aa8
...
...
@@ -19,7 +19,7 @@ from visualdl.component import components
from
visualdl.reader.record_reader
import
RecordReader
from
visualdl.server.data_manager
import
default_data_manager
from
visualdl.proto
import
record_pb2
from
visualdl.utils.string_util
import
decode_tag
from
visualdl.utils.string_util
import
decode_tag
,
encode_tag
def
is_VDLRecord_file
(
path
):
...
...
@@ -102,14 +102,17 @@ class LogReader(object):
component_keys
=
self
.
_log_data
.
keys
()
log_tags
=
{}
for
key
in
component_keys
:
log_tags
[
key
]
=
list
(
self
.
_log_data
[
key
].
keys
())
_tags
=
list
(
self
.
_log_data
[
key
].
keys
())
tags
=
list
(
map
(
lambda
x
:
encode_tag
(
x
),
_tags
))
log_tags
[
key
]
=
tags
return
log_tags
def
get_tags
(
self
):
return
self
.
_get_log_tags
()
def
get_data
(
self
,
component
,
tag
):
return
self
.
_log_data
[
component
][
tag
]
return
self
.
_log_data
[
component
][
decode_tag
(
tag
)
]
def
parse_from_bin
(
self
,
record_bin
):
"""Register to self._tags by component type.
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录