Fork me on GitHub

TensorFlow入门demo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#引入tensorflow模块
import tensorflow as tf
#创建两个常量节点
node1=tf.constant(3.2)
node2=tf.constant(4.8)
#创建一个adder节点,,对上面节点执行+操作
adder = node1 + node2
#打印一些节点
print(adder)
#打印adder运行后的结果
sess=tf.Session()
print(sess.run(adder))
#创建两个占位Tensor节点
a=tf.placeholder(tf.float32)
b=tf.placeholder(tf.float32)
#创建一个adder节点,对上面两个节点执行+操作
adder_node=a+b
#打印三个节点
print(a)
print(b)
print(adder_node)
#运行一下,后面的dict参数是为占位tensor提供输入数据
sess=tf.Session()
print(sess.run(adder_node,{a:3,b:4.5}))
print(sess.run(adder_node,{a:[1,3],b:[2,4]}))
#添加乘法操作
add_and_triple=adder*3.
print(sess.run(add_and_triple,{a:3,b:4.5}))
#创建变量w和b节点,并设置初始值
w=tf.Variable([.1],dtype=tf.float32)
b=tf.Variable([-.1],dtype=tf.float32)
#创建x节点,用来输入实验中的输入数据
x=tf.placeholder(tf.float32)
#创建线性模型
linear_model=w*x+b
#创建y节点,用来输入实验中得到的的输出数据,用于损失模型计算
y=tf.placeholder(tf.float32)
#创建损失模型
loss=tf.reduce_sum(tf.square(linear_model-y))
#创建Session用来计算模型
sess=tf.Session()
print(sess.run(w))
#提示打印w的值未初始化的异常
#变量tensor需要经过下面的init过程后才能使用:

demo

1
2
3
4
5
6
7
8
9
10
#初始化变量
#再打印w的值,就可以看到之前赋的初始值
init=tf.global_variables_initializer()
sess.run(init)
print(sess.run(w))
#变量初始化完之后,可以先对上面的w和b设置的初始值0.1和-0.1
#运行一下我们的线性模型看看结果:
print(sess.run(linear_model,{x:[1,2,3,6,8]}))
#貌似与我们实验的实际输出差距很大,我们在运行一下损失模型
print(sess.run(loss,{x:[1,2,3,6,8],y:[4.8,8.5,10.4,21,25.3]}))

demo