在本章中,我們將瞭解TensorFlow的基礎知識,將從理解張量的數據結構開始。
張量數據結構
張量(tensor
)用作TensorFlow語言中的基本數據結構。張量表示任何稱為數據流圖的流程圖中的連接邊。張量也可以定義為多維數組或列表。
通過以下三個參數識別張量 -
秩
張量中描述的維度單位稱為秩,它標識了張量的維數。張量的等級可以描述為定義的張量的階數或n維。
形狀
行數和列數一起定義了Tensor的形狀。
類型
Type
描述分配給Tensor元素的數據類型。
用戶需要考慮以下活動來構建Tensor -
- 構建一個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
張量處理和操作
在本節中,我們將瞭解Tensor處理和操作。
首先,閱讀並試著理解以下代碼 -
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)
執行上面示例代碼,得到以下結果:
說明
上面的源代碼中創建了多維數組。重要的是要瞭解創建的圖形和會話,它們管理Tensors並生成適當的輸出。在圖形的幫助下,輸出了指定Tensors之間的數學計算。
上一篇:
機器學習和深度學習
下一篇:
TensorFlow卷積神經網路