TensorFlow会话常用的两种方式

Posted spore

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于TensorFlow会话常用的两种方式的主要内容,如果未能解决你的问题,请参考以下文章

使用mybatis的两种方式

跨平台C++开源代码的两种常用编译方式

Nginx反向代理实现会话(session)保持的两种方式 (转)

JAVASCRIPT创建类的两种常用方式

常用的两种springmybatis 配置方式

创建 Spring Boot 项目常用的两种方式