深度學習 張量

2021-09-04 19:30:22 字數 1224 閱讀 7782

張量是乙個資料容器,包含的資料是數值資料。矩陣是二維張量,而張量則是矩陣向任意維度的推廣。張量的維度(dimension)通常叫作軸(axis)。

標量

只有乙個數字的張量叫作標量,也叫0維張量。我們可以通過ndim來檢視張量的維度,或者說軸的個數。

向量一維張量,只有乙個軸。

x = np.array([1

,2,3

,4,5

])x.ndim # 1

這裡需要區分乙個概念是:5維向量和5維張量的區別。

向量有多少個元素就叫多少維向量,但是張量的維度只看軸數。每個軸的維度是任意的。

矩陣2d張量,這是由向量組成的陣列。矩陣有兩個軸,常常稱之為行和列。第乙個軸的元素叫作行,第二個軸的元素叫作列。

這裡需要記住乙個案例:

x = np.array([[

0.1,

0.8,

0.1],[

0.3,

0.1,

0.6],[

0.2,

0.5,

0.3],[

0.8,

0.1,

0.1]])

y = np.argmax(x, axis=1)

# array([1, 2, 1, 0])

import numpy as np

x = np.array([[

0.1,

0.8,

0.1],[

0.3,

0.1,

0.6],[

0.2,

0.5,

0.3],[

0.8,

0.1,

0.1]])

y = np.argmax(x, axis=0)

# array([3, 0, 1])

對於**裡用到的東西,靈活運用這個案例是更好的選擇,如果按照第二個軸來選擇,則是選出每行的最值,按照第乙個軸來選,選出的是每列的最值。

在矩陣中,我們可以拋開中括號這種束縛,直接從一塊資料中按照行和列來看即可。

3d張量以及更高維張量

多個矩陣組合在一起可以變成3d張量,再將多個3d張量組合成乙個陣列,可以建立乙個4d張量,等等。

end.

參考:《deep learning with python》

深度學習 tensorflow張量運算

為什麼我們單獨講解乙個tensorflow的張量 矩陣 運算了?因為神經網路原理其實就是矩陣的運算。如圖所示,我們有三個神經元,兩個輸出。其實背後的計算不過是 所以,學會矩陣運算,是實現神經網路的第一步。相乘矩陣的相乘我們使用tf.matmul方法。x tf.variable 1.1.1.w tf....

深度學習中的張量

前面例子使用的資料儲存在多維 numpy 陣列中,也叫張量 tensor 一般來說,當前所有機器學習系統都使用張量作為基本資料結構。張量對這個領域非常重要,重要到 google 的tensorflow 都以它來命名。張量這一概念的核心在於,它是乙個資料容器。它包含的資料幾乎總是數值資料,因此它是數字...

深度學習準備(1) 張量

中文 張量 英文 tensor 數學上,把一維陣列叫向量 帶有方向的數量,線性代數有這個概念 把二維陣列叫矩陣 像矩形的乙個形狀,古代把一群士兵組成的方陣,叫陣 由於,矩形這個詞語被占用了,就發明了這個詞兒 三維,三維以上陣列,就叫張量,也叫做多維陣列 張量計算,就是多維陣列計算 另外,一般化之後的...