import torch
import numpy as np
if __name__ =='__main__':
t = torch.tensor([1,2,3])print(t)print(t.dtype)
结果
2.默认构造常用的数据类型的Tensor
代码
import torch
import numpy as np
if __name__ =='__main__':
t = torch.FloatTensor([1,2,3])# 默认类型是float32print(t)print(t.dtype)
t = torch.LongTensor([1,2,3])# 默认类型是int64print(t)print(t.dtype)
结果
3.从numpy数组创建Tensor
代码
import torch
import numpy as np
if __name__ =='__main__':
np_array = np.arange(12).reshape(3,4)print(np_array)print(np_array.dtype)
t = torch.from_numpy(np_array)# 直接继承numpy数组的数据类型print(t)print(t.dtype)
结果
二、张量的基本类型
32位浮点型:torch.float32 / torch.float
64位浮点型:torch.float64
64位整型:torch.int64 / torch.long
16位整型:torch.int16
32位整型:torch.int32
三、创建指定类型的Tensor
代码
import torch
import numpy as np
if __name__ =='__main__':
t = torch.tensor([1,2,3], dtype=torch.float)# 创建32位浮点型Tensorprint(t)print(t.dtype)
t = torch.tensor([1,2,3], dtype=torch.long)# 创建64位整型Tensorprint(t)print(t.dtype)
结果
四、随机初始化Tensor
1.创建0~1之间随机值的Tensor
代码
import torch
import numpy as np
if __name__ =='__main__':
t = torch.rand(2,3)print(t)print(t.dtype)print(t.shape)
结果
2.创建标准正态分布随机值的Tensor
代码
import torch
import numpy as np
if __name__ =='__main__':
t = torch.randn(2,3)print(t)print(t.dtype)print(t.shape)
结果
3.创建全0的Tensor
代码
import torch
import numpy as np
if __name__ =='__main__':
t = torch.zeros(3,3)print(t)print(t.dtype)print(t.shape)
结果
4.创建全1的Tensor
代码
import torch
import numpy as np
if __name__ =='__main__':
t = torch.ones(3,3)print(t)print(t.dtype)print(t.shape)
结果
5.创建与原Tensor形状类型都一样的0~1之间的Tensor
代码
import torch
import numpy as np
if __name__ =='__main__':
t1 = torch.zeros(3,3)print(t1)print(t1.dtype)print(t1.shape)print('-----------------------------------')
t = torch.rand_like(t1)print(t)print(t.dtype)print(t.shape)
结果
6.创建与原Tensor形状类型都一样的标准正态分布的Tensor
代码
import torch
import numpy as np
if __name__ =='__main__':
t1 = torch.zeros(3,3)print(t1)print(t1.dtype)print(t1.shape)print('-----------------------------------')
t = torch.randn_like(t1)print(t)print(t.dtype)print(t.shape)
结果
7.创建与原Tensor形状类型都一样的全0的Tensor
代码
import torch
import numpy as np
if __name__ =='__main__':
t1 = torch.rand(3,3)print(t1)print(t1.dtype)print(t1.shape)print('-----------------------------------')
t = torch.zeros_like(t1)print(t)print(t.dtype)print(t.shape)
结果
8.创建与原Tensor形状类型都一样的全1的Tensor
代码
import torch
import numpy as np
if __name__ =='__main__':
t1 = torch.rand(3,3)print(t1)print(t1.dtype)print(t1.shape)print('-----------------------------------')
t = torch.ones_like(t1)print(t)print(t.dtype)print(t.shape)
结果
五、张量的属性
1.返回Tensor的形状
代码
import torch
import numpy as np
if __name__ =='__main__':
t1 = torch.rand(3,3)print(t1.shape)print(t1.size())print(t1.size(0))print(t1.size(1))
结果
2.返回Tensor的数据类型
代码
import torch
import numpy as np
if __name__ =='__main__':
t1 = torch.rand(3,3)print(t1.dtype)
结果
3.移动Tensor至显卡设备
代码
import torch
import numpy as np
if __name__ =='__main__':print(torch.cuda.is_available())
t1 = torch.rand(3,3)print(t1.device)if torch.cuda.is_available():
t1 = t1.to('cuda')print(t1.device)