tensor(张量)是PyTorch的一种数据类型,可以是标量、一维向量、多维矩阵等。
上图中types可以不同(dtype不设定就是同类型),并没有严格界限,不过最好按推荐的情况去使用。
tensor.*中tensor就是带有数据的具体对象了,如下述案例中x、y等。
1、Tensor与tensor区别
import torch as t x=t.Tensor(2,3) #2行3列 x=t.Tensor([2,3]) #浮点型,输出 tensor([2., 3.]) #tensor里是已存在的数据,标量、向量、矩阵等。注意与Tensor区别 x=t.tensor([2,3]) #与元素同类型,整型 x=t.tensor([2.,3.]) #浮点型
torch.Tensor()是python类,更明确地说,是默认张量类型torch.FloatTensor()的别名,torch.Tensor([1,2])会调用Tensor类的构造函数__init__,生成单精度浮点类型的张量。
torch.tensor()是函数,返回的张量类型与元素同类型。
详解链接https://blog.csdn.net/tfcy694/article/details/85338745
2、torch.*
#未初始化的,里面是垃圾值 x=t.empty(2,3) x #类似的还有ones x=t.zeros(2,3,dtype=t.long) x #[0,1]均匀分布,randn是高斯分布 x=t.rand(2,3) x
3、torch.*_like、torch.new_*
#与x等大,类型不同(若设定) y=t.zeros_like(x,dtype=t.float) y #y与x不等大,同类型(若不设定) y=x.new_zeros(3,2) #y.type() #y.size() y
注意,如果报错,一般是因为类型不是Tensor默认的浮点型,转换下就可以了
原文:https://www.cnblogs.com/xixixing/p/12625563.html