基本数据类型
Data type | dtype | CPU tensor | GPU tensor |
---|
32-bit floating point | torch.float32 or torch.float | torch.FloatTensor | torch.cuda.FloatTensor |
64-bit floating point | torch.float64 or torch.double | torch.DoubleTensor | torch.cuda.DoubleTensor |
16-bit floating point 1 | torch.float16 or torch.half | torch.HalfTensor | torch.cuda.HalfTensor |
16-bit floating point 2 | torch.bfloat16 | torch.BFloat16Tensor | torch.cuda.BFloat16Tensor |
64-bit complex | torch.complex64 | | |
128-bit complex | torch.complex128 or torch.cdouble | | |
8-bit integer (unsigned) | torch.uint8 | torch.ByteTensor | torch.cuda.ByteTensor |
8-bit integer (signed) | torch.int8 | torch.CharTensor | torch.cuda.CharTensor |
16-bit integer (signed) | torch.int16 or torch.short | torch.ShortTensor | torch.cuda.ShortTensor |
32-bit integer (signed) | torch.int32 or torch.int | torch.IntTensor | torch.cuda.IntTensor |
64-bit integer (signed) | torch.int64 or torch.long | torch.LongTensor | torch.cuda.LongTensor |
Boolean | torch.bool | torch.BoolTensor | torch.cuda.BoolTensor |
quantized 8-bit integer (unsigned) | torch.quint8 | torch.ByteTensor | / |
quantized 8-bit integer (signed) | torch.qint8 | torch.CharTensor | / |
quantized 32-bit integer (signed) | torch.qfint32 | torch.IntTensor | / |
quantized 4-bit integer (unsigned) | torch.quint4x2 | torch.ByteTensor | / |
tensor numpy list
torch.tensor(1.)
Out[12]: tensor(1.)
torch.tensor(1.).item()
Out[13]: 1.0
torch.tensor([2, 3])
Out[14]: tensor([2, 3])
torch.Tensor(4)
Out[15]: tensor([-2.3144e-30, 4.5907e-41, 0.0000e+00, 0.0000e+00])
torch.Tensor(5, 6)
Out[16]:
tensor([[ 0.0000e+00, 0.0000e+00, -3.3819e-17, 8.5619e-43, -1.7335e-15,
8.5619e-43],
[ 1.4013e-45, 0.0000e+00, 5.6052e-45, 0.0000e+00, 0.0000e+00,
0.0000e+00],
[ 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00,
0.0000e+00],
[ 1.4013e-45, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00,
0.0000e+00],
[ 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00,
0.0000e+00]])
torch.Tensor([7, 8])
Out[17]: tensor([7., 8.])
torch.tensor([2, 3]).tolist()
Out[18]: [2, 3]
list(torch.tensor([2, 3]))
Out[19]: [tensor(2), tensor(3)]
a = np.array([2, 3, 3])
torch.from_numpy(a)
Out[89]: tensor([2, 3, 3], dtype=torch.int32)
torch.from_numpy(a).numpy()
Out[90]: array([2, 3, 3])
t = [1,2,3]
np.array(t)
Out[95]: array([1, 2, 3])
np.array(t).tolist()
Out[96]: [1, 2, 3]
zeros ones full eye
torch.zeros([2,3,4]).shape
Out[128]: torch.Size([2, 3, 4])
torch.zeros(2,3,4).shape
Out[127]: torch.Size([2, 3, 4])
torch.ones([2,3,4]).shape
Out[129]: torch.Size([2, 3, 4])
torch.ones(2,3,4).shape
Out[130]: torch.Size([2, 3, 4])
torch.full([2,3],7)
Out[143]:
tensor([[7, 7, 7],
[7, 7, 7]])
torch.eye(3,4)
Out[148]:
tensor([[1., 0., 0., 0.],
[0., 1., 0., 0.],
[0., 0., 1., 0.]])
torch.arange(0,10)
Out[145]: tensor([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
torch.linspace(0,10,10)
Out[151]:
tensor([ 0.0000, 1.1111, 2.2222, 3.3333, 4.4444, 5.5556, 6.6667, 7.7778,
8.8889, 10.0000])
empty
torch.empty(0)
Out[116]: tensor([])
torch.empty(1)
Out[117]: tensor([2.4356e-29])
torch.empty(2)
Out[118]: tensor([1.9655e-19, 7.1527e-06])
torch.empty([2])
Out[119]: tensor([3.6893e+19, 8.6063e-03])
default_tensor_type
torch.tensor([1.1,2,2]).type()
Out[121]: 'torch.FloatTensor'
torch.set_default_tensor_type(torch.DoubleTensor)
torch.tensor([1.1,2,2]).type()
Out[123]: 'torch.DoubleTensor'
rch.FloatTensor'
torch.set_default_tensor_type(torch.DoubleTensor)
torch.tensor([1.1,2,2]).type()
Out[123]: 'torch.DoubleTensor'