我們先來看 Tensorflow 的運作流程:
Python 前端透過 Tensorflow 核心執行系統把產生的 DAG 圖分配到不同的裝置,增加執行效率。
Session 連結 Python 程式和 C++ Runtime ,並讓 Python 程式存取本機及遠端機器。
全名爲 Directed acyclic graph ,是 Tensorflow 最重要的一個部分,負責把模型的細節生成出來,組成包含以下的基本元素
使用 Python 建立的模型可以轉換到 C++ 上做 低延遲預測,又或是模型可以在不同硬體(如電腦與手機)做轉換,這些都是 Tensorflow 在可移植性上面的優勢。
DAG 圖可以被產生、編譯、遠端執行、塞到很多裝置中。
假設有兩個 node 都是 add,Tensorflow 會整合成同一個 node,這樣可以增加程式碼的效能。
圖會建立快取,因此可以執行多次。
爲張量 z 賦值有兩種方式:
with tf.Session() as sess:
print(sess.run(z))
with tf.Session() as sess:
print(z.eval())
輸出結果都是相同的
x[列,行]
x[:,1]
: 代表取得所有的列,第一行。
tf.reshape()
:tf.reshape(x,[3,2])
把3列2欄的張量重新排列成2列3欄的張量
tf.get_variable()
tf.placeholder
:概念像是 c 語言的宣告式,宣告完不用馬上賦值,等到執行期間再說。
c = tf.add(a,b)
run
函式進行計算)session = tf.Session()
numpy_c = session.run(c, feed_dict=....)
enable_eager_execution()
確認使用 eager 模式