一、深度学习框架
1、计算图:基本概念,tensorflow中每一个计算都是计算图中的节点,节点之间的边描述了各个计算的依赖关系。
2、张量(tensor):可以简单的理解为多维数组
3、流(flow):描述了张量之间的转化过程
4、系统中自动维护同一个计算图,亦可以使用tf.get_default_graph函数获取当前的计算图、
mport numpy as np
import tensorflow as tf
a = tf.constant([1.0,2.0],name = "a")
b = tf.constant([3.0,4.0],name = "b")
result = a+ b;
print(a.graph is tf.get_default_graph())
5、tensorflow可以生成新的计算图,相同的张量和运算在不同计算图中并不会共享。
#coding=utf-8
import numpy as np
#在不同的图中定义张量,其并不共享
import tensorflow as tf
g1 = tf.Graph()
with g1.as_default():
v = tf.get_variable("v",initializer=tf.zeros_initializer(),shape=[1])
g2 = tf.Graph()
with g2.as_default():
v = tf.get_variable("v",initializer=tf.ones_initializer(),shape=[1])
with tf.Session(graph=g1) as sess:
tf.global_variables_initializer().run()
with tf.variable_scope("",reuse=True):
print(sess.run(tf.get_variable("v")))
with tf.Session(graph=g2) as sess:
tf.global_variables_initializer().run()
with tf.variable_scope("", reuse=True):
print(sess.run(tf.get_variable("v")))