TensorFlow - 基礎



在本章中,我們將學習 TensorFlow 的基礎知識。我們將從理解張量的​​資料結構開始。

張量資料結構

張量在 TensorFlow 語言中用作基本資料結構。張量表示任何稱為資料流圖的流程圖中的連線邊。張量被定義為多維陣列或列表。

張量由以下三個引數標識 -

張量內描述的維度單位稱為秩。它識別張量的維度數。張量的秩可以描述為張量的階數或 n 維。

形狀

行數和列數共同定義張量的形狀。

型別

型別描述分配給張量元素的資料型別。

使用者需要考慮以下活動來構建張量 -

  • 構建一個 n 維陣列
  • 轉換 n 維陣列。
Tensor Data Structure

TensorFlow 的各種維度

TensorFlow 包括各種維度。下面簡要描述了這些維度 -

一維張量

一維張量是一個正常的陣列結構,它包含一組相同資料型別的值。

宣告

>>> import numpy as np
>>> tensor_1d = np.array([1.3, 1, 4.0, 23.99])
>>> print tensor_1d

下面的螢幕截圖顯示了實現及其輸出 -

One Dimensional Tensor

元素的索引與 Python 列表相同。第一個元素從索引 0 開始;要透過索引列印值,您只需提及索引號即可。

>>> print tensor_1d[0]
1.3
>>> print tensor_1d[2]
4.0

Declaration

二維張量

陣列序列用於建立“二維張量”。

下面描述了二維張量的建立 -

Two Dimensional Tensors

以下是建立二維陣列的完整語法 -

>>> 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

Two Dimensional Tensors Tracked

張量處理和操作

在本節中,我們將學習關於張量處理和操作。

首先,讓我們考慮以下程式碼 -

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)

輸出

以上程式碼將生成以下輸出 -

Tensor Handling and Manipulations

解釋

我們在上面的原始碼中建立了多維陣列。現在,重要的是要理解我們建立了圖和會話,它們管理張量並生成相應的輸出。藉助圖,我們可以輸出指定張量之間數學計算的結果。

廣告

© . All rights reserved.