awesome-tensorflow
什么是图计算
图计算可以直观地表达复杂运算(或者说功能结构).
根据图论, 图是由节点 (node/vertice) 和边 (edge) 组成结构, 是非线性的数据结构. 在图计算中基本的数据结构表达就是:
G = (V,E,D) V = vertex (顶点或者节点) E = edge (边) D = data (权重), 那么可以简单理解边表示节点间依赖关系同时也有对输入进行放大或缩小的功能.
图计算好处
将复杂计算过程更直观清晰表达处理
可以进行切分计算单元(个人理解)
计算更有层次
上面后两点表示我们可以对图计算进行分布式运算, 这个对于机器学习这个总是要面临大量运算显得很重要
新建图
在引入 TensorFlow 时候默认为我们 j
- import tensorflow as tf
- print(tf.get_default_graph())
- g = tf.Graph()
- print(g)
通过输出默认 default graph 和新建的 graph 对象 id 来看, 这是两个不同的对象.
- <tensorflow.python.framework.ops.Graph object at 0x1039372b0>
- <tensorflow.python.framework.ops.Graph object at 0x103d89668>
- g1 = tf.get_default_graph()
- g2 = tf.Graph()
- print(g1 is tf.get_default_graph())
- with g2.as_default():
- print(g1 is tf.get_default_graph())
- print(g1 is tf.get_default_graph())
从结果上来看, 使用 with 语句和 as_default() 命令返回一个上下文管理器, 是该计算图成为默认计算图, 所以此时输出 print(g1 is tf.get_default_graph())为 False.
True False True
来源: http://www.jianshu.com/p/2c6e9673385c