计算图(Graph): 搭建神经网络的计算过程,是承载一个或多个计算节点的一张图,只搭建网络,不运算。
神经网络的基本模型是神经元,神经元的基本模型其实就是数学中的乘、加运算。 我们搭建如下的计算图:
在上述图中,x1、 x2 表示输入, w1、 w2 分别是 x1 到 y 和 x2 到 y 的权重, y=x1*w1+x2*w2。
由程序代码实现上述计算图:
import tensorflow as tf #引入模块
x = tf.constant([[1.0, 2.0]]) #定义一个两阶张量等于[[1.0, 2.0]]
w = tf.constant([[3.0], [4.0]])#定义一个两阶张量等于[[3.0], [4.0]]
y=tf.matmul(x,w) #实现xw矩阵乘法
print (y) #输出结果
输出结果:
由结果知,y 是一个张量,只搭建承载计算过程的计算图,并没有运算,如果想得到运算结果就要用到“会话 Session()”。
会话(Session): 执行计算图中的节点运算。
代码实现如下:
import tensorflow as tf #引入模块
x = tf.constant([[1.0, 2.0]]) #定义一个两阶张量等于[[1.0, 2.0]]
w = tf.constant([[3.0], [4.0]])#定义一个两阶张量等于[[3.0], [4.0]]
y=tf.matmul(x,w) #实现xw矩阵乘法
print (y) #输出结果
with tf.Session() as sess:
print (sess.run(y)) #执行会话输出结果
运行结果如下: