【TensorFlow】简单解释----什么是张量(tensor)
張量
維基百科:Tensor
百度百科:什么是張量
最近在學習Tensorflow,但是其中Tensor也就是“張量”究竟是什么意思,看了維基百科和百度百科卻反而復雜。這里我進行了一個簡單的總結。
1、概念:
? ? ? ? Tensorflow里最基本的數據結構就是Tensor,跟本文講的Tensor的概念是一樣的,并不是物理學中的張量概念。張量是多維數組的泛概念。張量概念包括標量、向量和線性算子。? ?
? ? ? ?“在同構的意義下,第零階張量 (r = 0) 為標量 (Scalar),第一階張量 (r = 1) 為向量 (Vector), 第二階張量 (r = 2) 則成為矩陣 (Matrix)。例如,對于3維空間,r=1時的張量為此向量:(x,y,z)。由于變換方式的不同,張量分成協變張量 (Covariant Tensor,指標在下者)、逆變張量 (Contravariant Tensor,指標在上者)、 混合張量 (指標在上和指標在下兩者都有) 三類。”
? ? ? ?幾何代數中定義的張量是基于向量和矩陣的推廣,通俗一點理解的話,我們可以將標量視為零階張量,矢量視為一階張量,那么矩陣就是二階張量。
- ?階:張量的維度被描述為階
? ? ? ?張量(Tensor)是深度學習的基礎,其核心可以看作成一個數據容器,可容納數字,字符串和各種各樣亂七八糟的東西。?
2、基本運算:
1)內積:兩個大小相同的張量對應元素乘積之和。相應張量的范數定義為:,即所有元素的平方和的平方根
2)外積:定義張量X∈RI1×I2×…×IN和張量Y∈RJ1×J2×…×JM的外積為:
Z=X°Y∈RI1×I2×…×IN×J1×J2×…×JM
其中: zi1,i2,…,iN,j1,j2,…,jM=xi1,i2,…,iN?yj1,j2,…,jM
特別的,兩個向量外積得到的結果是一個秩為1的矩陣
三個向量外積得到的結果是一個秩為1的三階張量
3)Kronecter乘積(Kronecker Product):Kronecker乘積定義在兩個矩陣
?
4)Hadamard乘積(Hadamard Product):Hadamard 乘積定義在兩個相同大小的矩陣上的運算:
總結
以上是生活随笔為你收集整理的【TensorFlow】简单解释----什么是张量(tensor)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 几个好用的资源下载网址
- 下一篇: tensorflow 张量