diff --git a/README.md b/README.md index 2e8889d202455ef988587481d672869c9161a770..46e43af0b1ef59ff3269432d8750ed9f6bab125b 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,8 @@ VisualDL原生支持python的使用, 通过在模型的Python配置中添加 * [开源贡献](#开源贡献) +* [常见问题](#常见问题) + * [更多细节](#更多细节) ## **[HOT]活动公告** @@ -214,6 +216,43 @@ app.run(logdir="./log")

+### 3. 使用LogReader获取日志中的数据 + +VisualDL的后端也提供了获取日志数据的组件`LogReader`,可通过其获取日志中任意数据,接口如下: +```python +class LogReader(logdir=None, + file_name='') +``` +#### 接口参数 + +| 参数 | 格式 | 含义 | +| --------------- | ------- | ------------------------------------------------------------ | +| logdir | string | 日志文件所在的路径,必填| +| file_name | string | 指定要读的日志文件名,必填| + +#### 示例 + +假定在`./log`文件夹下有一个日志文件`vdlrecords.1605533348.log`,则获取此日志中tag为`loss`的scalar数据过程如下: + +```python +from visualdl import LogReader + +reader = LogReader(logdir='./log', file_name='vdlrecords.1605533348.log') +data = reader.get_data('scalar', 'loss') +print(data) +``` +结果为列表形式,如下 +```python +... +id: 5 +tag: "Metrics/Training(Step): loss" +timestamp: 1605533356039 +value: 3.1297709941864014 +... +``` + +关于LogReader的更多具体用法,可参考[LogReader](./docs/io/LogReader.md) + ## 可视化功能概览 @@ -300,6 +339,9 @@ VisualDL可视化结果保存服务,以链接形式将可视化结果保存下

+## 常见问题 +在使用VisualDL的过程中可能遇到的一些问题,可参考[常见问题](./docs/faq.md)帮助解决 + ## 开源贡献 VisualDL 是由 [PaddlePaddle](https://www.paddlepaddle.org/) 和 [ECharts](https://echarts.apache.org/) 合作推出的开源项目。 diff --git a/docs/components/README.md b/docs/components/README.md index 9525fb673f0a1c198fd69102f56dc27ed6ca8dcc..87f942c071f73deb8cfd522d9377964a381d7558 100644 --- a/docs/components/README.md +++ b/docs/components/README.md @@ -768,61 +768,3 @@ visualdl service upload --logdir ./log \

- - -## LogReader - -### 简介 -VisualDL可通过LogReader获取保存的日志中所有数据,帮助用户进行更详细的分析工作。 - -### 使用方式 - -### 1. 获取LogReader实例 - -LogReader的初始化接口如下: -```python -class LogReader(logdir=None, - file_name='') -``` -#### 接口参数 - -| 参数 | 格式 | 含义 | -| --------------- | ------- | ------------------------------------------------------------ | -| logdir | string | 日志文件所在的路径,必填| -| file_name | string | 指定要读的日志文件名,必填| - -#### 示例 - -假定在`./log`文件夹下有一个日志文件`vdlrecords.1605533348.log`,则获取LogReader实例如下: - -```python -from visualdl import LogReader - -reader = LogReader(logdir='./log', file_name='vdlrecords.1605533348.log') -``` - -### 2. 获取所有数据的tag信息 -通过接口`tags()`可获取LogReader实例对应日志中的所有数据tag信息,如下: -```python -tags = reader.tags() -``` -结果如下,格式为`${file_name}/${tag}:${component_name}` -```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'} -``` - -### 3. 获取某tag对应的数据 -通过接口`get_data(component, tag)`可获取某组件某tag对应的所有数据,例如: -```python -# 获取scalar组件tag为`Metrics%Training(Step): loss`的数据 -data = reader.get_data('scalar', 'Metrics%Training(Step): loss') -``` -结果为列表形式,如下 -```python -... -id: 5 -tag: "Metrics/Training(Step): loss" -timestamp: 1605533356039 -value: 3.1297709941864014 -... -``` \ No newline at end of file diff --git a/docs/io/LogReader.md b/docs/io/LogReader.md new file mode 100644 index 0000000000000000000000000000000000000000..2ee292af93c0d785cd2e642959d8b68436773fa8 --- /dev/null +++ b/docs/io/LogReader.md @@ -0,0 +1,56 @@ +# LogReader + +## 简介 +VisualDL可通过LogReader获取保存的日志中所有数据,帮助用户进行更详细的分析工作。 + +## 使用方式 + +### 1. 获取LogReader实例 + +LogReader的初始化接口如下: +```python +class LogReader(logdir=None, + file_name='') +``` +#### 接口参数 + +| 参数 | 格式 | 含义 | +| --------------- | ------- | ------------------------------------------------------------ | +| logdir | string | 日志文件所在的路径,必填| +| file_name | string | 指定要读的日志文件名,必填| + +#### 示例 + +假定在`./log`文件夹下有一个日志文件`vdlrecords.1605533348.log`,则获取LogReader实例如下: + +```python +from visualdl import LogReader + +reader = LogReader(logdir='./log', file_name='vdlrecords.1605533348.log') +``` + +### 2. 获取所有数据的tag信息 +通过接口`tags()`可获取LogReader实例对应日志中的所有数据tag信息,如下: +```python +tags = reader.tags() +``` +结果如下,格式为`${file_name}/${tag}:${component_name}` +```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'} +``` + +### 3. 获取某tag对应的数据 +通过接口`get_data(component, tag)`可获取某组件某tag对应的所有数据,例如: +```python +# 获取scalar组件tag为`Metrics%Training(Step): loss`的数据 +data = reader.get_data('scalar', 'Metrics%Training(Step): loss') +``` +结果为列表形式,如下 +```python +... +id: 5 +tag: "Metrics/Training(Step): loss" +timestamp: 1605533356039 +value: 3.1297709941864014 +... +``` \ No newline at end of file