Tensorflow 框架搭建神经网络(二)

计算图(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))  #执行会话输出结果

运行结果如下:


由第二次运行结果知,运行 Session()会话前只打印出 y 是个张量的提示,运行 Session()会话后打印出了 y 的结果 1.0*3.0 + 2.0*4.0 = 11.0。执行Session()会话得到矩阵乘法结果。




猜你喜欢

转载自blog.csdn.net/u012369559/article/details/79947798