TensorFlow(三)常用函数
生活随笔
收集整理的這篇文章主要介紹了
TensorFlow(三)常用函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
創建一個一行兩列的矩陣
matrix1 = tf.constant([[3., 3.]])- 1
創建一個兩行一列的矩陣
matrix2 = tf.constant([[2.],[2.]])- 1
矩陣相乘
tf.matmul(matrix1, matrix2)- 1
啟動默認圖.
sess = tf.Session() result = sess.run(product) ### 任務完成, 關閉會話. sess.close()- 1
- 2
- 3
- 4
創建一個變量列表,(變量維護圖的中間狀態)
tf.Variable([1.0, 2.0])- 1
創建一個常量列表
tf.constant([3.0, 3.0])- 1
使用初始化器 initializer op 的 run() 方法初始化 ‘x’
x.initializer.run()- 1
增加一個減法 sub op, 從 ‘x’ 減去 ‘a’. 運行減法 op, 輸出結果
sub = tf.sub(x, a)- 1
計算state 和 one 的值
new_value = tf.add(state, one)- 1
將 new_value 的值 賦給 state (state=new_value)
update = tf.assign(state, new_value)- 1
mul = multiply 是將input1和input2 做乘法運算,并輸出為 output
ouput = tf.multiply(input1, input2)- 1
生成隨機數,數據格式是 float 32 的形式
x_data = np.random.rand(100).astype(np.float32)- 1
- 2
定義Wx_plus_b, 即神經網絡未激活的值(預測的值)。其中,tf.matmul()是矩陣的乘法。
Wx_plus_b = tf.matmul(inputs,Weights)- 1
如果定義 Variable, 就一定要 initialize 激活變量 (此時沒有激活只有 sess.run 才會激活)
init = tf.global_variables_initializer()- 1
建立一個優化器, 減少神將網絡的誤差 GradientDescentOptimizer 是最基礎的優化器, 0.5 為學習效率(0-1),
optimizer = tf.train.GradientDescentOptimizer(0.5) train = optimizer.minimize(loss)- 1
- 2
TensorFlow中維護的集合列表
在一個計算圖中,可以通過集合(collection)來管理不同類別的資源。比如通過 tf.add_to_collection 函數可以將資源加入一個 或多個集合中,然后通過 tf.get_collection 獲取一個集合里面的所有資源(如張量,變量,或者運行TensorFlow程序所需的隊列資源等等)
| tf.GraphKeys.VARIABLES | 所有變量 | 持久化TensorFlow模型 |
| tf.GraphKeys.TRAINABLE_VARIABLES | 可學習的變量(一般指神經網絡中的參數) | 模型訓練、生成模型可視化內容 |
| tf.GraphKeys.SUMMARIES | 日志生成相關的張量 | TensorFlow計算可視化 |
| tf.GraphKeys.QUEUE_RUNNERS | 處理輸入的QueueRunner | 輸入處理 |
| tf.GraphKeys.MOVING_AVERAGE_VARIABLES | 所有計算了滑動平均值的變量 | 計算變量的滑動平均值 |
- 變量的類型是不可以改變的。
- 變量的維度一般是不能改變的,除非設置參數validate_shape = False(很少去改變它)
TensorFlow中的tf.Variable函數隨機數和常數的生成:
| tf.random_normal | 正態分布 | 平均值、標準差、取值類型 |
| tf.truncated_normal | 滿足正態分布的隨機值,但若隨機值偏離平均值超過2個標準差,則這個數會被重新隨機 | 平均值、標準差、取值類型 |
| tf.random_uniform | 平均分布 | 最大、最小值、取值類型 |
| tf.random_gamma | Gramma分布 | 形狀參數alpha、尺度參數beta、取值類型 |
| tf.zeros | 產生全0的數組 | tf.zeros([2, 3],tf.int32) |
| tf.ones | 產生全1的數組 | tf.ones([2, 3],tf.int32) |
| tf.fill | 產生一個全部為給定數組的數組 | tf.fill([2,3], 9) |
| tf.constant | 產生一個給定值的常量 | tf.constant([2,3,4]) |
TensorFlow 中的tf.get_variable變量初始化函數
| tf.constant_initializer | 將變量初始化為給定常數 | 常數的取值 |
| tf.random_normal_initializer | 將變量初始化為滿足正態分布的隨機值 | 正態分布的均值和標準差 |
| tf.truncated_normal_initializer | 將變量初始化為滿足正態分布的隨機值,但若隨機值偏離平均值超過2個標準差,則這個數會被重新隨機 | 正態分布的均值和標準差 |
| tf.random_uniform_initializer | 將變量初始化為滿足平均分布的隨機值 | 最大、最小值 |
| tf.uniform_unit_scaling_initializer | 將變量初始化為滿足平均分布但不影響輸出數量級的隨機值 | factor(產生隨機值時乘以的系數) |
| tf.zeros_initializer | 將變量初始化為全0 | 變量維度 |
| tf.ones_initializer | 將變量初始化為全1 | 變量維度 |
當輸入維度不一致時會進行廣播(broadcasting)
第一個選擇條件根據,當選擇條件為True時,會選擇第二個參數中的值,否則使用第三個參數中的值:
總結
以上是生活随笔為你收集整理的TensorFlow(三)常用函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TensorFlow(四)优化器函数Op
- 下一篇: 华为与重庆市签署战略合作框架协议 押注电