TensorFlow会话常用的两种方式
需要注意的是我们可以使用两种方法来创建并使用session
方法一:
sess = tf.Session() result = sess.run(...,feed_dict = {...}) sess.close()
方法二:
with tf.Session as sess:
result = sess.run(...,feed_dict = {...})
1.1 - 线性函数
让我们通过计算以下等式来开始编程:Y=WX+bY=WX+bY=WX+b ,W和X是随机矩阵,b是随机向量。
我们计算WX+b,其中W,X和b是从随机正态分布中抽取的。 W的维度是(4,3),X是(3,1),b是(4,1)。 我们开始定义一个shape=(3,1)的常量X:
X = tf.constant(np.random.randn(3,1), name = "X")
def linear_function(): """ 实现一个线性功能: 初始化W,类型为tensor的随机变量,维度为(4,3) 初始化X,类型为tensor的随机变量,维度为(3,1) 初始化b,类型为tensor的随机变量,维度为(4,1) 返回: result - 运行了session后的结果,运行的是Y = WX + b """ np.random.seed(1) # 指定随机种子 X = np.random.randn(3, 1) W = np.random.randn(4, 3) b = np.random.randn(4, 1) Y = tf.add(tf.matmul(W, X), b) # tf.matmul是矩阵乘法 # Y = tf.matmul(W,X) + b #也可以以写成这样子 """ # 创建一个session并运行它(第一种方法创建会话) sess = tf.Session() result = sess.run(Y) # session使用完毕,关闭它 sess.close() return result print("result = " + str(linear_function())) """ #使用第二种方法创建会话 with tf.Session() as sess: result = sess.run(Y) sess.close() return result print("result = " + str(linear_function()))
以上的session都是在函数内部创建的
参考链接:https://blog.csdn.net/u013733326/article/details/79971488#t10