1. 程式人生 > 實用技巧 >TensorFlow會話常用的兩種方式

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