pytorch 之tensor的基础知识
一、 PyTorch中,Tensor和tensor
>>> a=torch.Tensor([1,2])
>>> a.type()
'torch.FloatTensor' #生成单精度浮点类型的张量。
#torch.tensor ,函数原型是:
torch.tensor(data, dtype=None, device=None, requires_grad=False)
torch.tensor会从data中的数据部分做拷贝(而不是直接引用),根据原始数据类型生成相应的torch.LongTensor、torch.FloatTensor和torch.DoubleTensor张量。
>>> a=torch.tensor([1,2])
>>> a.type()
'torch.LongTensor'
>>> a=torch.tensor([1.,2.])
>>> a.type()
'torch.FloatTensor'
>>> a=np.zeros(2,dtype=np.float64)
>>> a=torch.tensor(a)
>>> a.type()
'torch.DoubleTensor'
>>> a=torch.Tensor([1,2])
>>> a
tensor([1., 2.])
>>> a=torch.tensor([1,2])
>>> a
tensor([1, 2])
>>> a=torch.tensor(1)
>>> a
tensor(1)
>>> a.type()
'torch.LongTensor'
>>> a=torch.Tensor(1)
>>> a
tensor([0.])
>>> a.type()
'torch.FloatTensor'
>>> a=torch.Tensor(3) # 3因为是标量,所以作为size
>>> a
tensor([0., 0., 0.])
>>> a.type()
'torch.FloatTensor'
传入的,Tensor(3)则生成的是size为3的单精度浮点型张量。把a=torch.Tensor(1)改成a=torch.Tensor([1]),a就是一个数值为1的张量了。
在PyTorch中,torch.Tensor类是存储和变换数据的重要工具,相比于Numpy,Tensor提供GPU计算和自动求梯度等更多功能,在深度学习中,我们经常需要对函数求梯度(gradient)。PyTorch提供的autograd包能够根据输入和前向传播过程自动构建计算图,并执行反向传播。
二、 Tensor几种形式
1、scalar 标量
2、vector 向量
如一个人有三个指标:身高体重性别 组成一个一个值的集合,一个向量
3、matrix 矩阵
很多个vector摞在一起,多维的一般计算的都是矩阵
来源:咯吱咯吱咕嘟咕嘟