张量的基本使用
目录
1.张量的定义
2.张量的分类
3.张量的创建
3.1 根据已有数据创建张量
3.2 根据形状创建张量
3.3 创建指定类型的张量
1.张量的定义
张量(Tensor)是机器学习的基本构建模块,是以数字方式表示数据的形式。PyTorch就是将数据封装成张量来进行运算的。PyTorch中的张量就是元素为同一种数据类型的多维数组。在PyTorch中,张量以"类"的形式封装起来,对张量的一些运算、处理的方法被封装在类中。
2.张量的分类
2.1 0维张量
将标量转化为张量得到的就是0维张量
import torch
#0维张量:标量(scalar)
scalar=torch.tensor(7)
print(scalar.ndim)#0
2.2 1维张量
将向量转化为张量得到的就是1维张量
import torch
#1维张量:向量(vector)
vector=torch.tensor([7,7])
print(vector.ndim)#1
2.3 2维张量
将矩阵转化为张量得到的就是2维张量
import torch
#2维张量:矩阵(matrix)
matrix=torch.tensor([[7,8],[9,10]])
print(matrix.ndim)#2
2.4 多维张量
将多维数组转化为张量得到的就是多维张量
import torch
#多维张量
tensor=torch.tensor([[[1,2,3],[3,6,9],[2,4,5]]])
print(tensor.ndim)#3
3.张量的创建
3.1 根据已有数据创建张量
利用torch.tensor可以实现根据已有数据创建张量
import torch
import numpy as np
def test01():#1.1创建标量张量data=torch.tensor(10)print(data)#1.2numpy数组,由于data为float64,下面代码也使用该类型data=np.random.randn(2,3)#2行3列data=torch.tensor(data)print(data)#1.3列表,下面代码使用默认元素类型float32data=[[10.,20.,30.],[40.,50.,60.]]data=torch.tensor(data)print(data)
if __name__=='__main__':test01()
3.2 根据形状创建张量
利用torch.Tensor可以根据形状创建张量,也可用来创建指定数据的张量
import torch
def test02():#2.1创建2行3列的张量,默认dtype为float32data=torch.Tensor(2,3)print(data)#2.2注意:如果传递列表,则创建包含指定元素的张量data=torch.Tensor([10])print(data)data=torch.Tensor([10,20])print(data)
if __name__=='__main__':test02()
3.3 创建指定类型的张量
利用 torch.IntTensor、torch.FloatTensor、torch.DoubleTensor可以创建指定类型的张量
def test03():#3.1创建2行3列,dtype为int32的张量data=torch.IntTensor(2,3)print(data)#3.2注意:如果传递的元素类型不正确,则会进行类型转换data=torch.IntTensor([2.5,3.3])print(data)#3.3其他的类型#int16data=torch.ShortTensor()#int64data=torch.LongTensor()#float32data=torch.FloatTensor()#float64data=torch.DoubleTensor()
if __name__ =='__main__':test03()