[Tensorflow] 初學筆記 (2) Session
Contents
繼續來看 Session 的部分。
Session 是 Tensorflow 用來執行命令的語句。可以利用 seesion.run()
來執行已經建立好的 graph 上的某個部份的運算結果。這裡 Session 的筆記和範例程式碼一樣來自官方文件。
Session 會把 graph ops 放到你的機器上面,例如 CPUs 或 GPUs,並且提供執行他們的方法。
建立 graph
這邊先來建立一個簡單的 graph。先從 source ops,也就是不需要任何 input 的 op 開始。例如從建立 Constant 開始,然後將這些常數傳給其他 ops 來做計算。
|
|
建立與開啟 session
目前為止這個 graph 有三個節點:兩個 constant()
ops 和一個 matmul()
op。而要實際執行 matmul()
,也就是矩陣乘法,必須要把這個 graph launch 在一個 session 裡。要 launch 一個 graph 必須先建立一個 Session object。而使用 Session 的方式有兩種,首先看一下第一種。
要得到 product 的執行結果必須利用 session.run(product)
。Session 去呼叫 run(product)
會執行三個 graph 中的 ops: 兩個 constants 和 matmul。
|
|
第二種方式使用 with
。在 with block 結束的同時,session 會被一併關閉。
|
|
前面有提到 Session 會把 graph 放到 CPUs 或 GPUs 上,而如果有多的 CPU 或 GPU 可以利用,with…Device 這個 statement 可以去指定你要用的 CPU 或是 GPU:
|
|
/cpu:0
: The CPU of your machine./gpu:0
: The GPU of your machine, if you have one./gpu:1
: The second GPU of your machine, etc.