赞
踩
理解标量(Scalar)、向量(Vector)、矩阵(Matrix)、数据立方(Cube)、张量(Tensor)、数组(Array):
标量是0阶张量,0维度数组;
向量是1阶张量,1维度数组;
矩阵是2阶张量,2维度数组;
数据立方体是3阶张量,3维度数组。
张量=数组,张量的阶=数组的维度。
理解阶(rank)、维(dimension)、轴(axis)、形状(shape)、通道(channel)
一个例子说明问题:
a=[[[1,2,3],[4,5,6]]]
1、这是一个几维数组或几阶张量?数“[”,这里“[[[”有3个,那就是3维或3阶;
2、[[[1,2,3],[4,5,6]]]属于哪一阶?[[1,2,3],[4,5,6]]属于哪一阶?[1,2,3]属于哪一阶?2是哪一阶?
既然是3阶张量,那么[[[1,2,3],[4,5,6]]]就属于第3阶,[[1,2,3],[4,5,6]]属于第2阶,[1,2,3]属于第1阶,2属于第0阶;
可见有外向内,阶和维是由高阶到低阶!
3、张量a的shape是什么?a.shape=(1,2,3)
可见shape是由张量由高阶到低阶的元素数,最后一阶即第0阶,永远都是1,所以我们不用shape=(1,2,3,1)而用shape=(1,2,3)表示;
4、张量a的第0轴,第1轴,第2轴分别是指什么?
第0轴指shape[0],第0轴上有1个元素即[[1,2,3],[4,5,6]];
第1轴指shape[1],第1轴上有2个元素即[1,2,3]和[4,5,6];
第2轴指shape[2],第2轴上有6个元素即1、2、3、4、5、6;
可见轴即shape的index。
5、张量a的第0轴上有几个通道,第1轴上有几个通道,第2轴上有几个通道?
第0轴上有1个通道
第1轴上有2个通道
第2轴上有3个通道
可见通道即shape的元素。
所以shape是阶或维、轴(axis)、通道的集成,shape的元素个数等于阶,shape的index等于轴,shape中的元素等于对应index或轴的通道数。
对于0阶张量即一个标量,我们可以用一点表示:
如:5
对于1阶张量即一个向量,我们可以用一条带点的线表示:
如:[1,2,3,4],向量中的每一个元素(即标量都是1阶的)
对于2阶张量即一个矩阵,我们可以用一个面的线表示:
如:[[1]],因为2阶张量里的元素是二维的,所以要用面表示
如:[[1,2,3,4]]
如:[[1],[2],[3],[4]]
如:[[1,1,1],[2,2,2],[3,3,3],[4,4,4]]
对于3阶张量即一个数据立方,我们可以用一个立方体表示:
如:[[[1]]],好比是一个盒子里面装的是1
如:[[[1,2,3]]]
如:[[[1,1,1],[2,2,2]]]
如:[[[1,1,1],[2,2,2]],[[3,3,3],[4,4,4]]]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。