Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
VisualDL
提交
aaf3980d
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看板
未验证
提交
aaf3980d
编写于
5月 17, 2020
作者:
Y
YixinKristy
提交者:
GitHub
5月 17, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update README.md
上级
6f8c255a
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
93 addition
and
20 deletion
+93
-20
docs/components/README.md
docs/components/README.md
+93
-20
未找到文件。
docs/components/README.md
浏览文件 @
aaf3980d
## 介绍
VisualDL拥有不同种类的组件,能够帮助开发者有效记录和监测训练中的各种指标和数据,为模型训练数据参考,及时发现错误,进而改进神经网络模型的设计
使用组件之前必须先使用LogWriter创建一个记录器,如下:
```
python
from
visualdl
import
LogWriter
with
LogWriter
(
logdir
=
"./log"
)
as
writer
:
```
关于记录器的更多参数配置,请参考
[
VisualDL说明文档
](
../README.md
)
# VisualDL 使用指南
### 概述
VisualDL 是一个面向深度学习任务设计的可视化工具。VisualDL 利用了丰富的图表来展示数据,用户可以更直观、清晰地查看数据的特征与变化趋势,有助于分析数据、及时发现错误,进而改进神经网络模型的设计。
目前,VisualDL 支持 scalar, image, high dimensional 三个组件,项目正处于高速迭代中,敬请期待新组件的加入。
| 组件名称 | 展示图表 | 作用 |
| :----------------------------------------------------------: | :--------: | :----------------------------------------------------------- |
|
<a
href=
"#1"
>
[
Scalar
](
#Scalar
-- 折线图组件)
</a>
| 折线图 | 动态展示损失函数值、准确率等标量数据 |
|
<a
href=
"#3"
>
[
Image
](
#Image
-- 图片可视化组件)
</a>
| 图片可视化 | 显示图片,可显示输入图片和处理后的结果,便于查看中间过程的变化 |
|
<a
href=
"#6"
>
[
High Dimensional
](
#High
Dimensional -- 数据降维组件)
</a>
| 数据降维 | 将高维数据映射到 2D/3D 空间来可视化嵌入,便于观察不同数据的相关性 |
## Scalar -- 折线图组件
### 介绍
Scalar 组件的输入数据类型为标量,该组件的作用是
画折线图
。将损失函数值、准确率等标量数据作为参数传入 scalar 组件,即可画出折线图,便于观察变化趋势。
Scalar 组件的输入数据类型为标量,该组件的作用是
将训练参数以折线图形式呈现
。将损失函数值、准确率等标量数据作为参数传入 scalar 组件,即可画出折线图,便于观察变化趋势。
### 记录接口
...
...
@@ -30,7 +37,7 @@ add_scalar(tag, value, step, walltime=None)
|step|int|记录的步数|
|walltime|int|记录数据的时间戳,默认为当前时间戳|
###
d
emo
###
D
emo
下面展示了使用 Scalar 组件记录数据的示例,代码见
[
Scalar组件
](
../../demo/components/scalar_test.py
)
```
python
from
visualdl
import
LogWriter
...
...
@@ -53,7 +60,57 @@ visualdl --logdir ./log --port 8080
接着在浏览器打开
`http://127.0.0.1:8080`
,即可查看以下折线图。
<p
align=
"center"
>
<img
src=
"../images/scalar_test.png"
width=
"90%"
/>
<img
src=
"http://visualdl.bj.bcebos.com/images/scalar-globalstatic.png"
width=
"100%"
/>
</p>
### 功能操作说明
*
支持数据卡片「最大化」、「还原」、「坐标系转化」(y轴对数坐标)、「下载」折线图
<p
align=
"center"
>
<img
src=
"http://visualdl.bj.bcebos.com/images/scalar-icon.png"
width=
"55%"
/>
</p>
*
数据点Hover展示详细信息
<p
align=
"center"
>
<img
src=
"http://visualdl.bj.bcebos.com/images/scalar-tooltip.png"
width=
"60%"
/>
</p>
*
可搜索卡片标签,展示目标图像
<p
align=
"center"
>
<img
src=
"http://visualdl.bj.bcebos.com/images/scalar-searchlabel.png"
width=
"90%"
/>
</p>
*
可搜索打点数据标签,展示特定数据
<p
align=
"center"
>
<img
src=
"http://visualdl.bj.bcebos.com/images/scalar-searchstream.png"
width=
"40%"
/>
</p>
*
X轴有三种衡量尺度
1.
Step:迭代次数
2.
Walltime:训练绝对时间
3.
Relative:训练时长
<p
align=
"center"
>
<img
src=
"http://visualdl.bj.bcebos.com/images/x-axis.png"
width=
"40%"
/>
</p>
*
可调整曲线平滑度,以便更好的展现参数整体的变化趋势
<p
align=
"center"
>
<img
src=
"http://visualdl.bj.bcebos.com/images/scalar-smooth.png"
width=
"37%"
/>
</p>
...
...
@@ -61,7 +118,7 @@ visualdl --logdir ./log --port 8080
### 介绍
Image 组件用于显示图片
。在程序运行过程中,将图片数据传入 Image 组件,就可在 VisualDL 的前端网页看到
相应图片。
Image 组件用于显示图片
数据随训练的变化。在模型训练过程中,将图片数据传入 Image 组件,就可在 VisualDL 的前端网页查看
相应图片。
### 记录接口
...
...
@@ -78,8 +135,8 @@ add_image(tag, img, step, walltime=None)
|step|int|记录的步数|
|walltime|int|记录数据的时间戳,默认为当前时间戳|
###
d
emo
下面展示了使用 Image 组件记录数据的示例,代码见
[
Image组件
](
../../demo/components/image_test.py
)
###
D
emo
下面展示了使用 Image 组件记录数据的示例,代码
文件请
见
[
Image组件
](
../../demo/components/image_test.py
)
```
python
import
numpy
as
np
from
PIL
import
Image
...
...
@@ -103,7 +160,7 @@ if __name__ == '__main__':
for
step
in
range
(
6
):
# 添加一个图片数据
writer
.
add_image
(
tag
=
"doge"
,
img
=
random_crop
(
"../../docs/images/
dog
.jpg"
),
img
=
random_crop
(
"../../docs/images/
eye
.jpg"
),
step
=
step
)
```
运行上述程序后,在命令行执行
...
...
@@ -111,10 +168,26 @@ if __name__ == '__main__':
visualdl
--logdir
./log
--port
8080
```
接着在浏览器打开
`http://127.0.0.1:8080`
,即可拖动查看记录的不同图片。
在浏览器输入
`http://127.0.0.1:8080`
,即可查看图片数据。
<p
align=
"center"
>
<img
src=
"http://visualdl.bj.bcebos.com/images/image-static.png"
width=
"90%"
/>
</p>
### 功能操作说明
可搜索图片标签显示对应图片数据
<p
align=
"center"
>
<img
src=
"http://visualdl.bj.bcebos.com/images/image-search.png"
width=
"90%"
/>
</p>
支持滑动Step/迭代次数查看不同迭代次数下的图片数据
<p
align=
"center"
>
<img
src=
"
../images/dynamic_imag
e.gif"
width=
"60%"
/>
<img
src=
"
http://visualdl.bj.bcebos.com/images/image-ey
e.gif"
width=
"60%"
/>
</p>
...
...
@@ -122,7 +195,7 @@ visualdl --logdir ./log --port 8080
### 介绍
High Dimensional 组件
的作用就是将数据映射到 2D/3D 空间来做可视化嵌入,这有利于了解不同数据的相关性。High Dimensional 组件
支持以下两种降维算法:
High Dimensional 组件
将高维数据进行降维展示,用于深入分析高维数据间的关系。目前
支持以下两种降维算法:
-
PCA : Principle Component Analysis 主成分分析
-
t-SNE : t-distributed stochastic neighbor embedding t-分布式随机领域嵌入
...
...
@@ -142,7 +215,7 @@ add_embeddings(tag, labels, hot_vectors, walltime=None)
|hot_vectors|numpy.array or list|与labels一一对应,每个元素可以看作是某个标签的特征|
|walltime|int|记录数据的时间戳,默认为当前时间戳|
###
d
emo
###
D
emo
下面展示了使用 High Dimensional 组件记录数据的示例,代码见
[
High Dimensional组件
](
../../demo/components/high_dimensional_test.py
)
```
python
from
visualdl
import
LogWriter
...
...
@@ -172,5 +245,5 @@ visualdl --logdir ./log --port 8080
接着在浏览器打开
`http://127.0.0.1:8080`
,即可查看降维后的可视化数据。
<p
align=
"center"
>
<img
src=
"
..
/images/dynamic_high_dimensional.gif"
width=
"80%"
/>
<img
src=
"
http://visualdl.bj.bcebos.com
/images/dynamic_high_dimensional.gif"
width=
"80%"
/>
</p>
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录