说白了,张量,就是一个三维及以上的数组。维度,就是张量到底存在几个子张量。
直观一点, 一维数组(1D张量)
>>> x = np.array([12,3,6,14,7])
>>> x.ndim
1
二维数组(2D张量)
>>> x = np.array( [ [ 1, 2, 3, 4 ] ,
[ 5, 6 ,7 ,8 ] ,
[ 1, 2, 3, 4 ] ] )
>>> x.ndim
2
三维数组(3D张量)
>>> x = np.array( [ [ [ 1,2,3,4 ] ,
[ 2,3,4,5 ] ] ,
[ [ 4,3,2,1 ] ,
[ 1,2,3,4 ] ] ])
>>> x.ndim
3
想要看出张量的维度,其实只需要数前面的中括号就能数出来了。
举个栗子 众所周知,图片是由一个一个像素构成的。如果我们想要保存一张20 * 20的图片,那么就会有400个像素,我们自然而然的就会想到用400维的张量来保存这张图片。但是如果你动手操作你会发现图像是黑白的。 因为图像的颜色通道有三个,RGB,一维图像即使黑白。如果想要保存彩色图像,就需要三个颜色通道。即,3 * 20 * 20。 而现在你想要保存n个这样的图片,那就是n * 3 * 20 * 20。
附上几篇文章,都是挺不错的理解。 张量的通俗理解和计算 机器学习中的张量(通俗优雅的理解) 张量维度及表示整理 向量、矩阵、张量基础知识