- TensorFlow 教程
- TensorFlow - 首頁
- TensorFlow - 簡介
- TensorFlow - 安裝
- 理解人工智慧
- 數學基礎
- 機器學習與深度學習
- TensorFlow - 基礎
- 卷積神經網路
- 迴圈神經網路
- TensorBoard 視覺化
- TensorFlow - 詞嵌入
- 單層感知器
- TensorFlow - 線性迴歸
- TFLearn 及其安裝
- CNN 和 RNN 的區別
- TensorFlow - Keras
- TensorFlow - 分散式計算
- TensorFlow - 匯出
- 多層感知器學習
- 感知器的隱藏層
- TensorFlow - 最佳化器
- TensorFlow - XOR 實現
- 梯度下降最佳化
- TensorFlow - 構建圖
- 使用 TensorFlow 進行影像識別
- 神經網路訓練建議
- TensorFlow 有用資源
- TensorFlow - 快速指南
- TensorFlow - 有用資源
- TensorFlow - 討論
TensorFlow - 基礎
在本章中,我們將學習 TensorFlow 的基礎知識。我們將從理解張量的資料結構開始。
張量資料結構
張量在 TensorFlow 語言中用作基本資料結構。張量表示任何稱為資料流圖的流程圖中的連線邊。張量被定義為多維陣列或列表。
張量由以下三個引數標識 -
秩
張量內描述的維度單位稱為秩。它識別張量的維度數。張量的秩可以描述為張量的階數或 n 維。
形狀
行數和列數共同定義張量的形狀。
型別
型別描述分配給張量元素的資料型別。
使用者需要考慮以下活動來構建張量 -
- 構建一個 n 維陣列
- 轉換 n 維陣列。
TensorFlow 的各種維度
TensorFlow 包括各種維度。下面簡要描述了這些維度 -
一維張量
一維張量是一個正常的陣列結構,它包含一組相同資料型別的值。
宣告
>>> import numpy as np >>> tensor_1d = np.array([1.3, 1, 4.0, 23.99]) >>> print tensor_1d
下面的螢幕截圖顯示了實現及其輸出 -
元素的索引與 Python 列表相同。第一個元素從索引 0 開始;要透過索引列印值,您只需提及索引號即可。
>>> print tensor_1d[0] 1.3 >>> print tensor_1d[2] 4.0
二維張量
陣列序列用於建立“二維張量”。
下面描述了二維張量的建立 -
以下是建立二維陣列的完整語法 -
>>> import numpy as np >>> tensor_2d = np.array([(1,2,3,4),(4,5,6,7),(8,9,10,11),(12,13,14,15)]) >>> print(tensor_2d) [[ 1 2 3 4] [ 4 5 6 7] [ 8 9 10 11] [12 13 14 15]] >>>
可以在指定為索引號的行號和列號的幫助下跟蹤二維張量的特定元素。
>>> tensor_2d[3][2] 14
張量處理和操作
在本節中,我們將學習關於張量處理和操作。
首先,讓我們考慮以下程式碼 -
import tensorflow as tf import numpy as np matrix1 = np.array([(2,2,2),(2,2,2),(2,2,2)],dtype = 'int32') matrix2 = np.array([(1,1,1),(1,1,1),(1,1,1)],dtype = 'int32') print (matrix1) print (matrix2) matrix1 = tf.constant(matrix1) matrix2 = tf.constant(matrix2) matrix_product = tf.matmul(matrix1, matrix2) matrix_sum = tf.add(matrix1,matrix2) matrix_3 = np.array([(2,7,2),(1,4,2),(9,0,2)],dtype = 'float32') print (matrix_3) matrix_det = tf.matrix_determinant(matrix_3) with tf.Session() as sess: result1 = sess.run(matrix_product) result2 = sess.run(matrix_sum) result3 = sess.run(matrix_det) print (result1) print (result2) print (result3)
輸出
以上程式碼將生成以下輸出 -
解釋
我們在上面的原始碼中建立了多維陣列。現在,重要的是要理解我們建立了圖和會話,它們管理張量並生成相應的輸出。藉助圖,我們可以輸出指定張量之間數學計算的結果。
廣告