博客新址: http://blog.xuezhisd.top
邮箱:xuezhisd@126.com
如何将神经网络可视化为计算图
该章节描述了如何在MXNet中使用在mx.viz.plot_network
来可视化(使用MXNet构建的)神经网络。mx.viz.plot_network
有助于将神经网络表示成一个计算图。其中,从输入节点开始计算;从输出节点读取结果。
前提条件
可视化网络需要 Jupyter Notebook 和 Graphviz 库。
务必按照 installation instructions 来设置MXNet和上述的依赖包。
可视化神经网络
mx.viz.plot_network
的输入包括:定义网络的 Symbol,计算图中的节点属性和节点形状参数(可选)。输出一个计算图。
下面我们尝试可视化一个用于线性矩阵分解的神经网络:
jupyter notebook
- 在浏览器中访问 Jupyter Notebook - http://localhost:8888/.
- 创建一个新的 notebook - “File -> New Notebook -> Python 2”
- 复制并运行下面的代码,以可视化网络。
import mxnet as mx
user = mx.symbol.Variable('user')
item = mx.symbol.Variable('item')
score = mx.symbol.Variable('score')
k = 64
max_user = 100
max_item = 50
user = mx.symbol.Embedding(data = user, input_dim = max_user, output_dim = k)
item = mx.symbol.Embedding(data = item, input_dim = max_item, output_dim = k)
net = user * item
net = mx.symbol.sum_axis(data = net, axis = 1)
net = mx.symbol.Flatten(data = net)
net = mx.symbol.LinearRegressionOutput(data = net, label = score)
mx.viz.plot_network(net)
结果(计算图)如下图所示:
参考
- Example MXNet Matrix Factorization
- Visualizing CNN Architecture of MXNet Tutorials
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)