Tensorflow 1:Hello World
2020-03-17 本文已影响0人
古风子
tf
计算图
基于TF1
Hello World
在jupyter notebook中输入一下代码:
import tensorflow as tf
hello = tf.constant('Hello World, TensorFlow!')#创建一个常量
sess = tf.Session()
print sess.run(hello)
a = tf.constant(10)
b = tf.constant(32)
print sess.run(a+b)
输出:
Hello World, TensorFlow!
42
基本流程
一个完成的Tensorflow程序创建过程
- 创建一个图(没有创建的情况下,会默认创建一个)
import tensorflow as tf
graph = tf.Graph()
with graph.as_default():
one = tf.constant(1.0, name="one")
Tensorflow使用计算图表示计算任务,然后在一个会话里进行启动; TensorFlow Python 库有一个默认图 (default graph);以上的前三行行代码,创建了一个空的计算图。实际使用中可以不创建,因为Tensorflow会默认创建一个图
- 添加各个节点(常量,变量等各个操作)
import tensorflow as tf
a = tf.constant(3.0, name="a")
b = tf.constant(4.0, name="b")
a_b = tf.add(a, b,name="add")
with tf.Session() as sess:
print("相加后的结果为")
print(sess.run(a_b))
# 添加board记录文件
file_write = tf.summary.FileWriter('/home/jiadongfeng/tensorflow/board/', graph=sess.graph)
以上代码执行后,在TensorBoard中查看到的计算图为:
计算图
- 如果有变量,则进行变量初始化
import tensorflow as tf
a = tf.constant(3.0, name="a")
b = tf.constant(4.0, name="b")
a_b = tf.add(a, b,name="add")
kernel = tf.Variable(a, name="kernel")
#变量初始化操作
init = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)#执行变量初始化
print("kernel:")
print(sess.run(kernel))#执行变量复制
print("相加后的结果为")
print(sess.run(a_b))
# 添加board记录文件
file_write = tf.summary.FileWriter('/home/jiadongfeng/tensorflow/board/', graph=sess.graph)
输出结果:
kernel:
3.0
相加后的结果为
7.0
添加一个kernel变量后的计算图为:
变量节点你可以自行验证讲kernel和a_b相加后的计算图:
常量和变量相加右侧的kenerl子图,用来表示变量,执行完tf.Variable()函数后,一共产生了三个结点:
- Variable:变量维护(不存放实际的值)
- Variable/Assign:变量分配
- Variable/read:变量使用
init操作表示独立的节点,kenel以来与init操作来进行初始化赋值
- 创建会话并执行
最后是通过 tf.Session()创建会话并执行