神经网络可视化部分认识

1 基于ONNX

Open Neural Network Exchange(ONNX,开放神经网络交换)格式,是一个用于表示深度学习模型的标准,可使模型在不同框架之间进行转移。

https://www.jianshu.com/p/65cfb475584a

Caffe2,PyTorch,Microsoft Cognitive Toolkit,Apache MXNet等主流框架都对ONNX有着不同程度的支持。这就便于了我们的算法及模型在不同的框架之间的迁移。

ONNX是一个开放式规范,由以下组件组成:

可扩展计算图模型的定义
标准数据类型的定义
内置运算符的定义

从而可以基于onnx网络文件,直接拖入一些工具获得直观结果

例如

Netron

 https://github.com/lutzroeder/Netron

https://blog.csdn.net/qq_39938666/article/details/90260860

2. tensorflow

建立可视化的tensorboard

with tf.name_scope('inputs'): #tensorboard画流程图时为了可视化封装变量, 主要目的是为了更加方便地管理参数命名。这里大家可以简单的理解,要想tensorboard记住它,就要给它命个名。
x = tf.placeholder('float', [None, n_input])
    y = tf.placeholder('float', [None, n_classes])
#让tensorboard显示输入的图片
with tf.name_scope('input_reshape'):
    image_input = tf.reshape(x, [-1, 28, 28, 1])
    tf.summary.image('input', image_input, 10) #这里我们显示10个图片

 以及构建神经网络,定义损失函数,梯度下降,准确率等等

tf.summary.histogram是画直方图等等

初始化所有变量

#初始化所有变量
init = tf.global_variables_initializer()

merged = tf.summary.merge_all() #merge_all 可以将所有summary全部保存到磁盘,以便tensorboard显示。

我们把我们定义好的所有要可是画的变量进行保存,但目前我们还没有开始画图,因为tensorflow还没开始运行建立会话,只有建立会话开始运行可视化的这些变量才开始保存。

建立会话,开始运行

with tf.Session() as sess:
    sess.run(init)

    writer = tf.summary.FileWriter('tensorboard3/', graph=sess.graph) #指定一个文件用来保存图

    for epoch in range(training_epochs):
    ........

运行代码,运行完毕后会在output部分看到我们保存的可视化数据。

这时我们进入命令行工具,dos

进入我们存储放tensorboard3文件的目录 输入 tensorbaord --logdir='tensorboards'

接下来我们在浏览器上输入localohost:6006就可以看到我们向要的东西了。

 

 

还有好多细节

https://zhuanlan.zhihu.com/p/65382848

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值