tensorflow的構建流程
tf.Graph() 表示實例化了一個類,一個用于 tensorflow 計算和表示用的數據流圖,通俗來講就是:在代碼中添加的操作(畫中的結點)和數據(畫中的線條)都是畫在紙上的“畫”,而圖就是呈現這些畫的紙,你可以利用很多線程生成很多張圖,但是默認圖就只有一張。
例如有如下代碼:
import tensorflow as tf
g = tf.Graph()
## add nodes to the graph
with g.as_default():
a = tf.constant(1, name=‘a’)
b = tf.constant(2, name=‘b’)
c = tf.constant(3, name=‘c’)
z = 2 * (a - b) + c
## launch the graph
with tf.Session(graph=g) as sess:
writer = tf.summary.FileWriter(“E://PycharmProjects//Graph”, g)
print(‘2*(a-b)+c =》 ’, sess.run(z))
打開cmd命令行,輸入tensorboard --logdir=E:\PycharmProjects\Graph
回車后,打開google瀏覽器,輸入得的的網址即可看到 我們生成的流程圖了:
TensorFlow執行流程
TensorFlow的基礎運算
在搞神經網絡之前,先讓我們把TensorFlow的基本運算,也就是加減乘除搞清楚。
首先,TensorFlow有幾個概念需要進行明確:
1 圖(Graph):用來表示計算任務,也就我們要做的一些操作。
2 會話(Session):建立會話,此時會生成一張空圖;在會話中添加節點和邊,形成一張圖,一個會話可以有多個圖,通過執行這些圖得到結果。如果把每個圖看做一個車床,那會話就是一個車間,里面有若干個車床,用來把數據生產成結果。
3 Tensor:用來表示數據,是我們的原料。
4 變量(Variable):用來記錄一些數據和狀態,是我們的容器。
5 feed和fetch:可以為任意的操作(arbitrary operation) 賦值或者從其中獲取數據。相當于一些鏟子,可以操作數據。
形象的比喻是:把會話看做車間,圖看做車床,里面用Tensor做原料,變量做容器,feed和fetch做鏟子,把數據加工成我們的結果。
2.1 創建圖和運行圖:
下面我們創建一個圖,并在Session中執行它,不用擔心看不懂,每句代碼都會注釋,只有有編程基礎,都能OK:
上面就是用TensorFlow進行了一個最簡單的矩陣乘法。
2.2 創建一個變量,并用for循環對變量進行賦值操作
可以看到,除了變量創建稍微麻煩一些和必須建立session來運行,其他的操作基本和普通Python一樣。
2.3 通過feed設置placeholder的值
有的時候,我們會在聲明變量的時候不賦值,計算的時候才進行賦值,這個時候feed就派上用場了。
責任編輯:YYX
-
tensorflow
+關注
關注
13文章
329瀏覽量
60561
發布評論請先 登錄
相關推薦
評論