Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MindSpore
docs
提交
80c03397
D
docs
项目概览
MindSpore
/
docs
通知
4
Star
2
Fork
2
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
80c03397
编写于
6月 30, 2020
作者:
Z
zhangyi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
amend the notebook of MindInsight about histogram,scalar and image
上级
fdb49bcb
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
35 addition
and
39 deletion
+35
-39
tutorials/notebook/mindinsight/images/histogram.png
tutorials/notebook/mindinsight/images/histogram.png
+0
-0
tutorials/notebook/mindinsight/images/image_vi.png
tutorials/notebook/mindinsight/images/image_vi.png
+0
-0
tutorials/notebook/mindinsight/mindinsight_image_histogram_scalar.ipynb
...book/mindinsight/mindinsight_image_histogram_scalar.ipynb
+34
-38
tutorials/source_zh_cn/advanced_use/dashboard_and_lineage.md
tutorials/source_zh_cn/advanced_use/dashboard_and_lineage.md
+1
-1
未找到文件。
tutorials/notebook/mindinsight/images/histogram.png
查看替换文件 @
fdb49bcb
浏览文件 @
80c03397
84.7 KB
|
W:
|
H:
90.0 KB
|
W:
|
H:
2-up
Swipe
Onion skin
tutorials/notebook/mindinsight/images/image_vi.png
已删除
100644 → 0
浏览文件 @
fdb49bcb
45.7 KB
tutorials/notebook/mindinsight/mindinsight_image_histogram_scalar.ipynb
浏览文件 @
80c03397
...
@@ -4,21 +4,25 @@
...
@@ -4,21 +4,25 @@
"cell_type": "markdown",
"cell_type": "markdown",
"metadata": {},
"metadata": {},
"source": [
"source": [
"#
MindInsight之标量、直方图和图像
\n",
"#
标量、直方图和图像可视化
\n",
"\n",
"\n",
"MindInsight可以将神经网络训练过程中的损失值标量、直方图、图像信息记录到日志文件中,通过可视化界面解析以供用户查看。\n",
"MindInsight可以将神经网络训练过程中的损失值标量、直方图、图像信息记录到日志文件中,通过可视化界面解析以供用户查看。\n",
"\n",
"\n",
"整体流程:\n",
"接下来是本次流程的体验过程。\n",
"\n",
"## 整体流程\n",
"\n",
"\n",
"1. 下载MNIST数据集。\n",
"1. 下载MNIST数据集。\n",
"\n",
"\n",
"2. 原始数据预处理。\n",
"2. 原始数据预处理。\n",
"\n",
"\n",
"3. 初始化`lenet`网络。\n",
"3. 初始化`LeNet`网络。\n",
"\n",
"4. 训练网络,使用`SummaryCollector`记录图像信息、损失值标量、权重梯度等参数,同时启动MindInsight服务,实时查 看损失值、参数直方图和输入图像的变化。\n",
"\n",
"\n",
"
4. 执行主程序,使用`SummaryCollector`记录图像信息、损失值标量、权重梯度等参数,启动MindInsight服务
。\n",
"
5. 完成训练后,查看MindInsight看板中记录到的损失值标量、直方图、图像信息及标量对比信息
。\n",
"\n",
"\n",
"
5. 在MindInsight可视化面板中查看结果
。"
"
6. 分别单独记录损失值标量、直方图、图像信息,查看展示结果,关闭MindInsight服务
。"
]
]
},
},
{
{
...
@@ -37,7 +41,7 @@
...
@@ -37,7 +41,7 @@
"\n",
"\n",
"1. 判断是否存在MNIST数据集目录,不存在则创建目录,存在则跳至[**数据预处理**](#数据预处理)。\n",
"1. 判断是否存在MNIST数据集目录,不存在则创建目录,存在则跳至[**数据预处理**](#数据预处理)。\n",
"\n",
"\n",
"2. 判断是否存在MNIST数据集,不存在则下载MNIST数据集,存在则跳至[**数据预处理**](#数据预处理)。
\n
"
"2. 判断是否存在MNIST数据集,不存在则下载MNIST数据集,存在则跳至[**数据预处理**](#数据预处理)。"
]
]
},
},
{
{
...
@@ -51,10 +55,12 @@
...
@@ -51,10 +55,12 @@
"from urllib.parse import urlparse\n",
"from urllib.parse import urlparse\n",
"import gzip\n",
"import gzip\n",
"\n",
"\n",
"def unzipfile(gzip_path):\n",
"def unzip_file(gzip_path):\n",
" \"\"\"unzip dataset file\n",
" \"\"\"\n",
" unzip dataset file\n",
" \n",
" Args:\n",
" Args:\n",
" gzip_path:
d
ataset file path\n",
" gzip_path:
D
ataset file path\n",
" \"\"\"\n",
" \"\"\"\n",
" open_file = open(gzip_path.replace('.gz',''), 'wb')\n",
" open_file = open(gzip_path.replace('.gz',''), 'wb')\n",
" gz_file = gzip.GzipFile(gzip_path)\n",
" gz_file = gzip.GzipFile(gzip_path)\n",
...
@@ -80,7 +86,7 @@
...
@@ -80,7 +86,7 @@
" file_name = os.path.join(train_path,url_parse.path.split('/')[-1])\n",
" file_name = os.path.join(train_path,url_parse.path.split('/')[-1])\n",
" if not os.path.exists(file_name.replace('.gz','')):\n",
" if not os.path.exists(file_name.replace('.gz','')):\n",
" file = urllib.request.urlretrieve(url, file_name)\n",
" file = urllib.request.urlretrieve(url, file_name)\n",
" unzipfile(file_name)\n",
" unzip
_
file(file_name)\n",
" os.remove(file_name)\n",
" os.remove(file_name)\n",
" for url in test_url:\n",
" for url in test_url:\n",
" url_parse = urlparse(url)\n",
" url_parse = urlparse(url)\n",
...
@@ -88,7 +94,7 @@
...
@@ -88,7 +94,7 @@
" file_name = os.path.join(test_path,url_parse.path.split('/')[-1])\n",
" file_name = os.path.join(test_path,url_parse.path.split('/')[-1])\n",
" if not os.path.exists(file_name.replace('.gz','')):\n",
" if not os.path.exists(file_name.replace('.gz','')):\n",
" file = urllib.request.urlretrieve(url, file_name)\n",
" file = urllib.request.urlretrieve(url, file_name)\n",
" unzipfile(file_name)\n",
" unzip
_
file(file_name)\n",
" os.remove(file_name)"
" os.remove(file_name)"
]
]
},
},
...
@@ -233,11 +239,11 @@
...
@@ -233,11 +239,11 @@
"source": [
"source": [
"# 记录标量、直方图、图像\n",
"# 记录标量、直方图、图像\n",
"\n",
"\n",
"在主程序中
应
用`SummaryCollector`来记录标量、直方图、图像信息。\n",
"在主程序中
使
用`SummaryCollector`来记录标量、直方图、图像信息。\n",
"\n",
"\n",
"## 运行主程序\n",
"## 运行主程序\n",
"\n",
"\n",
"在MindSpore中通过`Callback`机制提供支持快速简易地收集损失值、参数权重、梯度等信息的`Callback`, 叫做`SummaryCollector`。详细的用法可以参考API文档中`mindspore.train.callback.SummaryCollector`。 \n",
"在MindSpore中通过`Callback`机制
,
提供支持快速简易地收集损失值、参数权重、梯度等信息的`Callback`, 叫做`SummaryCollector`。详细的用法可以参考API文档中`mindspore.train.callback.SummaryCollector`。 \n",
"\n",
"\n",
"1. 为了记录损失值标量、直方图、图像信息,在主程序代码中需要在`specified`参数中指定需要记录的信息。\n",
"1. 为了记录损失值标量、直方图、图像信息,在主程序代码中需要在`specified`参数中指定需要记录的信息。\n",
"\n",
"\n",
...
@@ -252,7 +258,7 @@
...
@@ -252,7 +258,7 @@
"\n",
"\n",
"2. 实例化`SummaryCollector`,并将其应用到`model.train`或者`model.eval`中。\n",
"2. 实例化`SummaryCollector`,并将其应用到`model.train`或者`model.eval`中。\n",
"\n",
"\n",
"
程序运行过程中将
启动MindInsight服务并自动遍历读取当前notebook目录下`summary_dir`子目录下所有日志文件、解析进行可视化展示。"
"
程序运行过程中将在本地`8080`端口自动
启动MindInsight服务并自动遍历读取当前notebook目录下`summary_dir`子目录下所有日志文件、解析进行可视化展示。"
]
]
},
},
{
{
...
@@ -308,17 +314,17 @@
...
@@ -308,17 +314,17 @@
"\n",
"\n",
"![](https://gitee.com/mindspore/docs/raw/master/tutorials/notebook/mindinsight/images/mindinsight_panel.png)\n",
"![](https://gitee.com/mindspore/docs/raw/master/tutorials/notebook/mindinsight/images/mindinsight_panel.png)\n",
"\n",
"\n",
"在上图所示面板中可以看到`summary_01`日志文件目录,点击
训练看板
进入到下图所示的训练数据展示面板,该面板展示了标量数据、直方图和图像信息,并随着训练、测试的进行实时刷新数据,实时显示训练过程参数的变化情况。\n",
"在上图所示面板中可以看到`summary_01`日志文件目录,点击
**训练看板**
进入到下图所示的训练数据展示面板,该面板展示了标量数据、直方图和图像信息,并随着训练、测试的进行实时刷新数据,实时显示训练过程参数的变化情况。\n",
"\n",
"\n",
"![](https://gitee.com/mindspore/docs/raw/master/tutorials/notebook/mindinsight/images/mindinsight_panel2.png)\n",
"![](https://gitee.com/mindspore/docs/raw/master/tutorials/notebook/mindinsight/images/mindinsight_panel2.png)\n",
"\n",
"\n",
"## 标量可视化\n",
"## 标量可视化\n",
"\n",
"\n",
"标量可视化用于展示训练过程中标量的变化趋势情况,点击打开标量信息展示面板,该面板记录了迭代计算过程中的
学习率(下图左侧所示)和损失值(下图右侧所示)
标量信息。\n",
"标量可视化用于展示训练过程中标量的变化趋势情况,点击打开标量信息展示面板,该面板记录了迭代计算过程中的
损失值
标量信息。\n",
"\n",
"\n",
"![](https://gitee.com/mindspore/docs/raw/master/tutorials/notebook/mindinsight/images/scalar_panel.png)\n",
"![](https://gitee.com/mindspore/docs/raw/master/tutorials/notebook/mindinsight/images/scalar_panel.png)\n",
"\n",
"\n",
"如下图的loss值标量
可视化信息——标量
趋势图。\n",
"如下图的loss值标量趋势图。\n",
"\n",
"\n",
"![](https://gitee.com/mindspore/docs/raw/master/tutorials/notebook/mindinsight/images/scalar.png)\n",
"![](https://gitee.com/mindspore/docs/raw/master/tutorials/notebook/mindinsight/images/scalar.png)\n",
"\n",
"\n",
...
@@ -330,7 +336,7 @@
...
@@ -330,7 +336,7 @@
"\n",
"\n",
"- 切换Y轴比例是指可以将Y轴坐标进行对数转换。\n",
"- 切换Y轴比例是指可以将Y轴坐标进行对数转换。\n",
"\n",
"\n",
"- 开启/关闭框选是指可以框选图中部分区域,并放大查看该区域,
可以在已放大的图形上叠加框选。\n",
"- 开启/关闭框选是指可以框选图中部分区域,并放大查看该区域,可以在已放大的图形上叠加框选。\n",
"\n",
"\n",
"- 分步回退是指对同一个区域连续框选并放大查看时,可以逐步撤销操作。\n",
"- 分步回退是指对同一个区域连续框选并放大查看时,可以逐步撤销操作。\n",
"\n",
"\n",
...
@@ -360,6 +366,10 @@
...
@@ -360,6 +366,10 @@
"\n",
"\n",
"![](https://gitee.com/mindspore/docs/raw/master/tutorials/notebook/mindinsight/images/histogram.png)\n",
"![](https://gitee.com/mindspore/docs/raw/master/tutorials/notebook/mindinsight/images/histogram.png)\n",
"\n",
"\n",
"下图为直方图功能区。\n",
"\n",
"![](https://gitee.com/mindspore/docs/raw/master/tutorials/notebook/mindinsight/images/histogram_func.png)\n",
"\n",
"上图展示直方图的功能区,包含以下内容:\n",
"上图展示直方图的功能区,包含以下内容:\n",
"\n",
"\n",
"- 标签选择:提供了对所有标签进行多项选择的功能,用户可以通过勾选所需的标签,查看对应的直方图。\n",
"- 标签选择:提供了对所有标签进行多项选择的功能,用户可以通过勾选所需的标签,查看对应的直方图。\n",
...
@@ -372,11 +382,9 @@
...
@@ -372,11 +382,9 @@
"\n",
"\n",
"图像可视化用于展示用户所指定的图片。点击图像展示面板,展示了每个step进行处理的图像信息。\n",
"图像可视化用于展示用户所指定的图片。点击图像展示面板,展示了每个step进行处理的图像信息。\n",
"\n",
"\n",
"![](https://gitee.com/mindspore/docs/raw/master/tutorials/notebook/mindinsight/images/image_panel.png)\n",
"\n",
"下图为展示`summary_01`记录的图像信息。\n",
"下图为展示`summary_01`记录的图像信息。\n",
"\n",
"\n",
"![](https://gitee.com/mindspore/docs/raw/master/tutorials/notebook/mindinsight/images/image_
vi
.png)\n",
"![](https://gitee.com/mindspore/docs/raw/master/tutorials/notebook/mindinsight/images/image_
panel
.png)\n",
"\n",
"\n",
"通过滑动上图中的\"步骤\"滑条,查看不同步骤的图片。\n",
"通过滑动上图中的\"步骤\"滑条,查看不同步骤的图片。\n",
"\n",
"\n",
...
@@ -397,7 +405,7 @@
...
@@ -397,7 +405,7 @@
"source": [
"source": [
"## 对比看板\n",
"## 对比看板\n",
"\n",
"\n",
"对比看板可视用于多
个
训练之间的标量数据对比,为了展示对比看板,执行以下代码,在可视化面板中可以得到`summary_02`日志记录信息。"
"对比看板可视用于多
次
训练之间的标量数据对比,为了展示对比看板,执行以下代码,在可视化面板中可以得到`summary_02`日志记录信息。"
]
]
},
},
{
{
...
@@ -445,29 +453,17 @@
...
@@ -445,29 +453,17 @@
"cell_type": "markdown",
"cell_type": "markdown",
"metadata": {},
"metadata": {},
"source": [
"source": [
"打开对比看板,可以得到`summary_01`和`summary_02`标量对比信息。\n",
"
点击MindInsight看板中的**对比看板**,
打开对比看板,可以得到`summary_01`和`summary_02`标量对比信息。\n",
"\n",
"\n",
"![](https://gitee.com/mindspore/docs/raw/master/tutorials/notebook/mindinsight/images/multi_scalars.png)\n",
"![](https://gitee.com/mindspore/docs/raw/master/tutorials/notebook/mindinsight/images/multi_scalars.png)\n",
"\n",
"\n",
"上图展示了多个训练之间的标量曲线对比效果,横坐标是训练步骤,纵坐标是标量值。\n",
"上图展示了多次训练之间的标量曲线对比效果,横坐标是训练步骤,纵坐标是标量值。\n",
"\n",
"图中右上角有几个按钮功能,从左到右功能分别是全屏展示,切换Y轴比例,开启/关闭框选,分步回退和还原图形。\n",
"\n",
"- 全屏展示即全屏展示该标量曲线,再点击一次即可恢复。\n",
"\n",
"- 切换Y轴比例是指可以将Y轴坐标进行对数转换。\n",
"\n",
"- 开启/关闭框选是指可以框选图中部分区域,并放大查看该区域, 可以在已放大的图形上叠加框选。\n",
"\n",
"- 分步回退是指对同一个区域连续框选并放大查看时,可以逐步撤销操作。\n",
"\n",
"- 还原图形是指进行了多次框选后,点击此按钮可以将图还原回原始状态。\n",
"\n",
"\n",
"![](https://gitee.com/mindspore/docs/raw/master/tutorials/notebook/mindinsight/images/multi_scalars_select.png)\n",
"![](https://gitee.com/mindspore/docs/raw/master/tutorials/notebook/mindinsight/images/multi_scalars_select.png)\n",
"\n",
"\n",
"上图展示的对比看板可视的功能区,提供了根据选择不同训练或标签,水平轴的不同维度和平滑度来进行标量对比的功能。\n",
"上图展示的对比看板可视的功能区,提供了根据选择不同训练或标签,水平轴的不同维度和平滑度来进行标量对比的功能。\n",
"\n",
"\n",
"- 训练
:
提供了对所有训练进行多项选择的功能,用户可以通过勾选或关键字筛选所需的训练。\n",
"- 训练
:
提供了对所有训练进行多项选择的功能,用户可以通过勾选或关键字筛选所需的训练。\n",
"\n",
"\n",
"- 标签:提供了对所有标签进行多项选择的功能,用户可以通过勾选所需的标签,查看对应的标量信息。\n",
"- 标签:提供了对所有标签进行多项选择的功能,用户可以通过勾选所需的标签,查看对应的标量信息。\n",
"\n",
"\n",
...
@@ -484,7 +480,7 @@
...
@@ -484,7 +480,7 @@
"\n",
"\n",
"以上流程为整体展示Summary算子能记录到的所有数据,也可以单独记录关心的数据,以降低性能开销和日志文件大小。\n",
"以上流程为整体展示Summary算子能记录到的所有数据,也可以单独记录关心的数据,以降低性能开销和日志文件大小。\n",
"\n",
"\n",
"
> 为了展示运行的效果,进行以下每个步骤之前先删除当前notebook根目录下的`summary_dir/summary_02`目录,配置完`specified`参数后执行[**对比看板**](#对比看板)中的代码
。\n",
"
此处利用[**对比看板**](#对比看板)中的代码,为了排除前次训练对MindInsight展示结果的影响,在进行以下每个步骤之前先删除当前notebook根目录下的`summary_dir/summary_02`目录,配置完`specified`参数后执行[**对比看板**](#对比看板)中的代码,在MindInsight看板中查看结果
。\n",
"\n",
"\n",
"## 单独记录损失值标量\n",
"## 单独记录损失值标量\n",
"\n",
"\n",
...
...
tutorials/source_zh_cn/advanced_use/dashboard_and_lineage.md
浏览文件 @
80c03397
...
@@ -22,7 +22,7 @@
...
@@ -22,7 +22,7 @@
<!-- /TOC -->
<!-- /TOC -->
<a
href=
"https://gitee.com/mindspore/docs/blob/r0.5/tutorials/source_zh_cn/advanced_use/dashboard_and_lineage.md"
target=
"_blank"
><img
src=
"../_static/logo_source.png"
></a>
<a
href=
"https://gitee.com/mindspore/docs/blob/r0.5/tutorials/source_zh_cn/advanced_use/dashboard_and_lineage.md"
target=
"_blank"
><img
src=
"../_static/logo_source.png"
></a>
<a
href=
"https://gitee.com/mindspore/docs/tree/r0.5/tutorials/notebook/mindinsight"
target=
"_blank"
><img
src=
"../_static/logo_
source
.png"
></a>
<a
href=
"https://gitee.com/mindspore/docs/tree/r0.5/tutorials/notebook/mindinsight"
target=
"_blank"
><img
src=
"../_static/logo_
notebook
.png"
></a>
## 概述
## 概述
训练过程中的标量、图像、计算图以及模型超参等信息记录到文件中,通过可视化界面供用户查看。
训练过程中的标量、图像、计算图以及模型超参等信息记录到文件中,通过可视化界面供用户查看。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录