T1-TensorFlow基础
TensorFlow 基礎
剛了解 Google 的 tensorflow, 使用的是 Python 版本的. 簡單的整理下基本用法.
1. 常量(constant)
首先呢, 需要先導入 tensorflow:
import tensorflow as tf # 在 Python 中定義常量如下: x = 10 # 在 tf 中則是這樣的: x = tf.constant(10)2. 變量(variable)
定義變量, 賦初值(必須初始化), 并給出變量的名字:
# 直接定義 y1 = tf.Variable(0) # 或者加上變量名 y2 = tf.Variable(0, name='counter')當然, 在圖像處理中, 常用的矩陣定義也是一樣的:
# 定義 3x3 全1矩陣 m1 = tf.Variable(tf.ones([3, 3])) # 定義 3x3 全0矩陣, 并給出變量名 m2 = tf.Variable(tf.zeros([3, 3]), name='matrix')變量定義后, 必須顯式的初始化 : init = tf.global_variables_initializer().
3. 占位符(placeholder)
在上面定義的「變量」必須初始化, 但是有些變量我們剛開始并不知道, 要進過計算之后才能得到. 這就需要「占位符」來 hold 住, 先替我們占個位置.
函數原型如下:
tf.placeholder(dtype, shape=None, name=None)
這里指定了占位符 x 變量類型為 float32, 形狀 shape 為任意維度, 大小為 512 的張量, 如果 shape 沒有指定的話可以為空 「None」. 這里沒有定義變量名.
- 后面需要用到占位符時, 要注意必須向其填充值「feed_dict」.
4. 會話(Session)
tf不會去一條條地執行各個操作, 而是把所有的操作都放入到一個圖「graph」中, 圖中的每一個結點就是一個操作. 然后行將整個graph 的計算過程交給TensorFlow 的Session, Session 可以運行整個計算過程. (與之相似的還有 InteractiveSession )
# 創建會話 sess = tf.Session() # 關閉會話 (當然 用 with...as 更方便) sess.close()示例
示例1: 使用常量實現 tf 加法 (8 + 2)
x1 = tf.constant(8, name='x_value') x2 = tf.constant(2)y = tf.add(x1, x2)with tf.Session() as sess:result = sess.run(y)print(result)輸出結果為: 10
示例2: 利用常量和變量實現 tf 加法:
import tensorflow as tf x = tf.Variable(0) s = tf.constant(2) y = tf.add(x, s)# 這里使用的 assign 是用來更新變量 x 的, 我們共循環 3 次 # 每次把 y 的值更新到變量 x 中, 實現 0+2 | 2+2 | 2+2+2 new_y = tf.assign(x, y)# 這里非常重要, 必須要初始化變量 init = tf.global_variables_initializer()with tf.Session() as sess:# 以上的定義都在 Session 里真正計算sess.run(init)for _ in range(3):result = sess.run(new_y)print(result)輸出結果為: 2 4 6
轉載于:https://www.cnblogs.com/TaylorBoy/p/6749763.html
總結
以上是生活随笔為你收集整理的T1-TensorFlow基础的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Alpha】第一次Daily Scru
- 下一篇: django 中的render和rend