一、Tensorflow计算模型——计算图
1 Tensorflow程序一般可以分为两个阶段
第一阶段需要定义计算图中所有的计算
第二阶段为执行计算
2 通过tf.get_default_graph函数可以获取当前默认的计算图
import tensorflow as tf
a = tf.constant([1.0, 2.0], name="a")
print(a.graph is tf.get_default_graph())
返回结果为True
3 不同计算图上的张量和运算不会共享
import tensorflow as tf
g1 = tf.Graph()
g1.device('/gpu:0')
with g1.as_default():
v = tf.get_variable("v", initializer=tf.zeros_initializer, shape=[1])
g2 = tf.Graph()
g2.device('/gpu:1')
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")))
同时定义了两个计算图,都使用了名字为 “v“ 的变量,但是会输出两个结果。
二、Tensorflow数据模型——张量
张量可以简单理解为多维数组
1 Tensorflow的计算结果不是一个数字,而是一个张量的结构。
#vector_addition
import tensorflow as tf
a = tf.constant([1.0, 2.0], name="a")
b = tf.constant([2.0, 3.0], name="