站长之家首页 > 传媒 > PaddlePaddle最新资讯 > 正文

PaddlePaddle可视化之VisualDL

2018-04-13 11:37 · 稿源:站长之家用户投稿

  如何对模型进行可视化,我们可以用keras手动绘图输出CNN训练的中途结果,本篇文章将讲述如何用PaddlePaddle新开源的VisualDL来进行可视化。在讲VisualDL之前,我们先了解一下常用的Tensorflow的可视化工具---Tensorboard。

Tensorflow的可视化

  Tensorboard是Tensorflow自带的可视化模块,我们可以通过Tensorboard直观的查看神经网络的结构,训练的收敛情况等。要想掌握Tensorboard,我们需要知道一下几点:

  • 支持的数据形式

  • 具体的可视化过程

  • 如何对一个实例使用Tensorboard

  数据形式 

(1)标量Scalars 

(2)图片Images 

(3)音频Audio 

(4)计算图Graph 

(5)数据分布Distribution 

(6)直方图Histograms 

(7)嵌入向量Embeddings

   可视化过程

(1)建立一个graph。

(2)确定在graph中的不同节点设置summary operations。

(3)将(2)中的所有summary operations合并成一个节点,运行合并后的节点。

(4)使用tf.summary.FileWriter将运行后输出的数据都保存到本地磁盘中。

(5)运行整个程序,并在命令行输入运行tensorboard的指令,打开web端可查看可视化的结果

  使用Tensorborad的实例

  这里我就不讲的特别详细啦,如果用过Tensorflow的同学其实很好理解,只需要在平时写的程序后面设置summary,tf.summary.scalar记录标量,tf.summary.histogram记录数据的直方图等等,然后正常训练,最后把所有的summary合并成一个节点,存放到一个地址下面,在linux界面输入一下代码:

tensorboard --logdir=‘存放的总summary节点的地址’

  然后会出现以下信息:

1 Starting TensorBoard 41 on port 6006 2 (You can navigate to http://127.0.1.1:6006)

  将http://127.0.1.1: 6006 在浏览器中打开,就可以看到web端的可视化了

 

  具体的参数表示的含义可以参照官网的解释

MXNet的可视化

  MXNet的可视化之前一直使用mx.viz.plot_network来构建一个神经网络图,但是后来有一位阿里的同学把tensorboard封装在了mxnet里,具体可以参照https://github.com/dmlc/tensorboard,可以对照他写的这篇文章来看Bring TensorBoard to MXNet。

  ps:这个功能好像去年年初他们就开始搞了,看到他发的朋友圈才知道没过几个月就上线了,真效率,喜欢mxnet的同学可以尝试一下。

PaddlePaddle的可视化--EventHandler  (关注博客园专栏作者:Charlotte77

http://www.cnblogs.com/charlotte77 查看源代码)

  在PaddlePaddle发布VisualDL之前,我一直是用event_handler来可视化训练的收敛情况。我找了一段之前写的一个类里的小代码来展示如何使用event_handler

  trainer = self.get_trainer()不用管,因为之前写的一个函数叫get_trainer,你可以先定义trainer,然后放在这里,后面设一个空列表存放每次训练的结果,我这个代码里叫result_lists,然后定义event_handler函数,在开始训练,这样每次训练的结果都会传入result_lists这个列表里面,最后进行排序,把最优结果放到best里,输出就可以。最后用event_handler_plot画图,输出如下收敛的图:

  但是这样不能观察到神经网络在训练过程中的每个神经元的具体变化情况,不如tensorboard的功能多,只能看到我们在训练过程中的loss下降的情况,训练是否收敛等。

PaddlePaddle的新版可视化工具--VisualDL

  大概就在上周,1. 16 日,PaddlePaddle和Echarts团队练手打造了VisualDL可视化工具 ,我试用了以后发现和tensorborad的功能好像!简单说说特性:

  • 支持Scaler打点数据展示,可将训练信息以折线图的形式展现出来,方便观察整体趋势,还能在同一个可视化视图中呈现多条折线,方便用户对比分析。

  • 支持Image图片展示可轻松查看数据样本的质量,也可以方便地查看训练的中间结果,例如卷积层的输出或者GAN生成的图片。

  • 支持Histogram参数分布展示功能,方便用户查看参数矩阵中数值的分布曲线,并随时观察参数数值分布的变化趋势。

  • 支持Graph查看深度神经网络的模型结构。

  这样一看,其实基本上实现了tensorboard的功能,或者应该简称“Bring TensorBorad To PaddlePaddle”。不知道博客园怎么放gif,具体的图片展示就直接看官网吧

深度学习可视化工具Visual DL——“所见即所得”

总结

  总的来说,Tensorboard是一个非常好的可视化工具,mxnet原来只能可视化神经网络结构图,paddlepaddle原来只能看loss下降的训练收敛图,但是后来mxnet把tensorborad搞进去了,paddlepaddle发布了一个新的工具VisualDL,实现了Tensorborad的功能,还是非常厉害的!大家可以多体验体验,这样就不用像上篇文章手动的去画每个网络结果中间的输出结果图,直接用VisualDL的Image展示就可以了,更加方便我们理解模型,观察模型训练的过程,简单来说,让我们不透明的“炼丹术”变得更加透明清楚了。

作者:Charlotte77 

网友热搜:

免责声明:“站长之家”的传媒资讯页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与我们联系删除或处理。稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性,更不对您的投资构成建议。我们不鼓励任何形式的投资行为、购买使用行为。

  • 大家在看
  • 相关推荐
  • 深度学习再迎高光时刻 百度PaddlePaddle亮“成绩单”

    深度学习正在迎来它的高光时刻。4月23日,首届WAVE SUMMIT 2019深度学习开发者峰会在北京举办,过千位“慕名而来”的开发者与AI专家、学者一道见证了国内真正意义上第一场深度学习开发者盛会。 会上,百度高级副总裁、深度学习技术及应用国家工程实验室主任王海峰表示,“深度学习推动人工智能进入工业大生产阶段,而深度学习框架是智能时代的操作系统。”他认为,深度学习技术已经具备了很强的通用性,正在推动人工智能进入工业大生产阶

  • 三年积累沉淀 百度PaddlePaddle凭借“硬实力”发布11项重磅

    人工智能在60多年的发展历程中,已经从人工规则、机器学习发展到了深度学习的阶段。4月23日,百度举办的首届WAVE SUMMIT 2019深度学习开发者峰会,也让中国深度学习迎来它的高光时刻。作为行业盛会,此次峰会吸引到了上千位开发者、AI专家、学者的共同参与。开源三年的百度PaddlePaddle也在峰会上交出了一份斐然的“成绩单”。百度高级副总裁、深度学习技术及应用国家工程实验室主任王海峰表示,“深度学习正在推动人工智能进入工?

  • 百度开源深度学习平台PaddlePaddle宣布官方中文名“飞桨”

    百度旗下深度学习开源平台“PaddlePaddle”今日发布 11 项新特性及服务,并首次公布PaddlePaddle中文名为“飞桨”。

  • PaddlePaddle进行车牌识别(二)

    上节我们讲了第一部分,如何用生成简易的车牌,这节课中我们会用PaddlePaddle来识别生成的车牌。 数据读取 在上一节生成车牌时,我们可以分别生成训练数据和测试数据,方法如下(完整代码在这里):1 # 将生成的车牌图片写入文件夹,对应的label写入label.txt2 def genBatch(self, batchSize,pos,charRange, outputPath,size):3 if (not os.path.exists(outputPath)):4 os.mkdir(outputPath)5 outfile = open(label.txt,w)6 for i

  • PaddlePaddle进行车牌识别(一)

    小伙伴们,终于到了实战部分了!今天给大家带来的项目是用PaddlePaddle进行车牌识别。车牌识别其实属于比较常见的图像识别的项目了,目前也属于比较成熟的应用,大多数老牌厂家能做到准确率99%+。传统的方法需要对图像进行多次预处理再用机器学习的分类算法进行分类识别,然而深度学习发展起来以后,我们可以通过用CNN来进行端对端的车牌识别。任何模型的训练都离不开数据,在车牌识别中,除了晚上能下载到的一些包含车牌的数据是?

  • paddlepaddle图像分类与visualDL尝鲜体验

    paddlepaddle图像分类很早之前,有写过关于TensorFlow, MXNet中如何训练一个靠谱的图像分类器,这里我会先使用paddlepaddle官方的例子,来学习下如何使用paddlepaddle构建一个靠谱的分类器。数据介绍官方文档上使用的数据是flowers-102,这个数据集早在当初tflearn学习深度学习网络的时候就有接触过,还是比较简单的,paddlepaddle把它写成数据接口模型介绍paddlepaddle的模型介绍model overview。这里我们在实验当中使用大名鼎?

  • 关于PaddlePaddle的一些避“坑”技巧

    最近除了工作以外,业余在参加Paddle的AI比赛,在用Paddle训练的过程中遇到了一些问题,并找到了解决方法,跟大家分享一下:PaddlePaddle的Anaconda的兼容问题 之前我是在服务器上安装的PaddlePaddle的gpu版本,我想把BROAD数据拷贝到服务器上面,结果发现我们服务器的 22 端口没开,不能用scp传上去,非常郁闷,只能在本地训练。本机mac的显卡是A卡,所以只能装cpu版本的,安装完以后,我发现运行一下程序的时候报错了:1 import

  • 百度成立深度学习技术平台推广PaddlePaddle

    7月26日,百度宣布成立深度学习技术平台部,进行深度学习框架PaddlePaddle的研发和推广。

  • PaddlePaddle和Tensorflow实现经典CNN网络GoogLeNet

    前面讲了LeNet、AlexNet和Vgg,这周来讲讲GoogLeNet。GoogLeNet是由google的Christian Szegedy等人在 2014 年的论文《Going Deeper with Convolutions》提出,其最大的亮点是提出一种叫Inception的结构,以此为基础构建GoogLeNet,并在当年的ImageNet分类和检测任务中获得第一,ps:GoogLeNet的取名是为了向YannLeCun的LeNet系列致敬。(本系列所有代码均在github:https://github.com/huxiaoman7/PaddlePaddle_code)关于深度网络的?

  • 2018百度之星决赛揭幕 PaddlePaddle撬动AI未来

    9 月 17 日, 2018 百度之星决赛开幕式在百度大厦举行,比赛分为程序设计大赛与开发者大赛,来自全国各地的 82 名决赛选手在随后的决赛环节进行比拼。决赛开幕式嘉宾启动决赛上海交通大学教授林巍峣、清华大学自动化系副教授鲁继文、中山大学教授郭嵩山、北京邮电大学房鸣教授、清华大学ACM教练邬晓钧以及百度AI技术生态部总经理喻友平等嘉宾出席活动。据了解,本届百度之星参赛人数超过了 13000 人,与去年相比增长30%。决赛首次?

  • PaddlePaddle与Kubernetes强强联合助力深度学习模型高效运转

    美国时间2月8日,Kubernetes社区宣布由百度原创开发的开源深度学习框架PaddlePaddle将兼容集群管理系统Kubernetes,使PaddlePaddle成为迄今为止唯一正式支持 Kubernetes的深度学习框架。 此次兼容将使开发者能够便捷地在全球主要云服务以及私有集群 (on-premise clusters) 上做大规模深度学习训练。该项目由百度和CoreOS联合开发,同时CoreOS也是Kubernetes的主要贡献者之一。 开发者通常会将AI项目与Web服务、日志收集、和数据处?

  • 百度正式宣布推出深度学习开源平台PaddlePaddle

    近日,百度正式对外宣布开放其深度学习开源平台PaddlePaddle,这也是继Google、Facebook、IBM后又一家将人工智能技术开源的公司。

  • 百度正式发布PaddlePaddle深度强化学习框架PARL

    强化学习作为AI技术发展的重要分支,为各家AI公司高度重视。去年,百度首次参与NeurIPS2018 的强化学习赛事,就击败了多达 400 支来自全球研究机构以及各大公司研究部门的参赛队伍,大比分以绝对优势拿下了冠军,并受邀在加拿大蒙特利尔举办的NeurIPS 2018 Competition Workshop上分享。近日,百度PaddlePaddle正式发布在赛事夺冠中起到关键作用的深度强化学习框架PARL,同时开源了基于该框架的NeurIPS2018 强化学习赛事的完整训练

  • 基于PaddlePaddle的点击率的深度学习方法尝试

    ?前言前面在团队内部分享点击率相关的一些文章时,输出了一篇常见计算广告点击率预估算法总结,看了一些广告点击率的文章,从最经典的Logistic Regression到Factorization Machined,FFM,FNN,PNN到今年的DeepFM,还有文章里面没有讲的gbdt+lr这类,一直想找时间实践下,正好这次在学习paddle的时候在它的models目录下看到了DeepFM的实现,因为之前对DeepFM有过比较详细的描述,这里稍微复习一下:DeepFM更有意思的地方是WDL和FM结

  • 百度推出超级人工智能PaddlePaddle:是个“老司机”

    今年早些时候在谷歌人工智能AlphaGo和韩国棋手李世石之间进行的人机大战让人们充分认识到,人工智能现阶段已经发展到能够处理更复杂问题的程度,未来将在人类生活中扮演更重要角色。

  • PaddlePaddle和Tensorflow实现GoogLeNet InceptionV2/V3/V4

    上一篇文章我们引出了GoogLeNet InceptionV1 的网络结构,这篇文章中我们会详细讲到Inception V2/V3/V4 的发展历程以及它们的网络结构和亮点。GoogLeNet Inception V2GoogLeNet Inception V2 在《Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift》出现,最大亮点是提出了Batch Normalization方法,它起到以下作用:使用较大的学习率而不用特别关心诸如梯度爆炸或消失等优化问题;?

  • 史上最详细的PaddlePaddle从安装到部署、从桌面到服务器

    AI这个概念好像突然就火起来了,年初大比分战胜李世石的AlphaGo成功的吸引了大量的关注,但其实看看你的手机上的语音助手,相机上的人脸识别,今日头条上帮你自动筛选出来的新闻,还有各大音乐软件的歌曲“每日推荐”……形形色色的AI早已进入我们生活的方方面面。深刻的影响了着我们,可以说,这是一个AI的时代。其实早在2016 年 9 月,百度就开源了PaddlePaddle深度学习框架,并且很快就吸引了很多来自百度外的参与者。相信有不

  • 参与评论
文明上网理性发言,请遵守新闻评论服务协议