张量的定义
对于Tensor,有没有一种更确切的标识来解释它,什么是张量?
如图所示:
张量是一个任意维数组,它是标量、矩阵、向量的高维拓展。
张量的创建
1、可以通过列表创建
2、可以通过元组创建
3、通过Numpy库来进行创建
而对于张量的类型,函数type()不能够识别出张量内部的数据类型到底是什么,只能识别是张量(Tensor)类型,如果想要知道变量具体是哪一种类型,需要用dtype()方法来查看变量的具体类型。
张量的维度
张量是具有维度信息的,例如下边所提到的这些变量,可以通过ndim这个属性来查看张量的维度信息。
还可以通过张量的shape和size属性来查看向量的形状。
t1可以理解为:该向量的形状是1行2列。
t2可以理解为:包含两个一维的向量,每个向量又都是1行3列。
t3可以理解为:包含了两个二维矩阵,每个矩阵又是2行2列。
通过张量的内置方法numel()可以查看张量的个数。
如果想要将一个任意维度的张量转成一维的张量,可以使用flatten()函数
对于张量的变形,需要用的函数是reshape()
squeeze函数的作用是压缩张量,例如去掉维数为1 的维度:
与squeeze函数对应的还有unsqueeze函数,它的作用是给指定位置加上维度:
将张量转化为数值所用的函数是item():