主旨
在TensorFlow中每开发一个模型,都可以使用可视化调试工具TensorBoard得到这个session的Graph,这张图的结构和内容都不同于机器学习教材上介绍的典型神经网络结构图。本文试图通过代码实验理解Graph的含义,用以指导日常调试。
代码和运行环境
代码:https://github.com/wangyaobupt/TF_Graph singleNerualNode.py
运行环境:
Python 2.7.12 (default, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609] on linux2
>>> tf.__version__
‘1.0.0-rc2’
问题介绍
在TensorFlow开发中,TensorBoard是一项很有用的可视化调试工具。在TensorBoard中,除了开发者自定义输出的数据结构之外,还包括表征神经网络模型的GRAPH。
在常见的机器学习教材中,神经网络的结构一般通过类似于如下的图形表示,下图引用自http://www.extremetech.com/extreme/215170-artificial-neural-networks-are-changing-the-world-what-are-they
但是,TensorBoard生成的Graph与上述形态完全不同,我自己开发的某个神经网络生成的Graph如下图所示
如何理解这张图?本文试图通过代码实验做一些尝试。
案例1:单神经元
为了简化分析场景,我们设计一个由单个神经元构成的神经网络,这个神经元存在numberOfInputDims
输入,神经元的每条输入边都有权重因子 w