1. 程式人生 > >資料流圖的執行——Session

資料流圖的執行——Session

1.Tensorflow Session

Session類負責資料流圖的執行,構造方法tf.Session()接收3個可選引數:

target引數——指定了所要使用的執行引擎,預設為空字串。
graph引數——指定了將要在Session物件中載入的graph物件,預設值為None,表示使用當前預設資料流圖。
config引數——允許使用者指定配置Session物件所需的選項。

注意:資料流圖的每一個節點簡記為Op

2.Session.run()

Session.run()方法接收一個引數fetches,以及其他三個可選引數:feed_dict、options、run_metadata

(1)fetches引數

fetches引數接收任意的資料流圖元素(Op或Tensor物件),後者指定了使用者希望執行的物件。

如果請求物件是Tensor物件,則run()的輸出是一個Numpy陣列;
如果請求物件是一個Op,則run()的輸出是None。
當fetches是一個列表時,run()的輸出將為一個與所請求的元素對應的值的列表。

注意:Op(節點)跟Tensor(張量)的區別——節點的輸入/輸出是張量,比如tf.add(2,5)為節點,a=tf.add(2,5)是節點的輸出為張量。

(2)feed_dict引數 feed_dict引數用於覆蓋資料流圖中的Tensor物件值,它需要python字典物件(dict)作為輸入。 字典中的“鍵”為指向應當被覆蓋的Tensor物件的控制代碼,而字典的“值”可以是數字、字串、列表或者Numpy陣列。

注:控制代碼——控制代碼是一個識別符號,是拿來標識物件或者專案的。