检查变量类型
a.type()
type(a)
isinstance(a,torch.FloatTensor)
//True
同一个tensor部署在CPU和GPU上是不同的
In [21]: isinstance( data, torch.cuda. DoubleTensor )
0ut[21]: False
In [22]: data=data.cuda( )//将数据搬运到cuda上面
In [23]: isinstance(data, torch.cuda. DoubleTensor )
0ut[23]: True
x.cuda会返回上一个引用
张量数据类型
In [8]: torch.tensor([1.1])//.tensor接受的是数据的内容
0ut[8]: tensor([1.1000] )
In [9]: torch.tensor([1.1, 2.2]) //2维张量
0ut[9]: tensor([1.1000, 2.2000])
In [10]: torch.FloatTensor(1) //.FloatTensor接受的是数据的shape
0ut[10]: tensor([3.2239e-25])//该初始化方式是随机初始化张量
In [11]: torch.FloatTensor(2)
0ut[11]: tensor([3.2239e-25, 4.5915e-41])
In [12]: data = np.ones(2)
In [13]: data
0ut[13]: array([1., 1.])
In [14]: torch.from_numpy(data)
0ut[14]: tensor([1., 1.], dtype=torch.float64)
示例
import torch
a = torch.randn(2,3)
print(a)
print(a.dim())
print(a.size())
print(a.shape)
In [46]: a.shape
0ut[46]: torch.Size([2, 3, 28, 28])
In [47]: a.numel()//numel是指tensor占用内存的数量
0ut[47]: 4704 //2*3*28*28
In [48]: a.dim()
0ut[48]: 4
In [49]: a=torch.tensor(1)
In [50]: a.dim()
0ut[50]: 0