FloatTensor :PyTorch默认的数据类型,32位浮点型,相当于
intIntTensor : 32位整型
ShortTensor : 16位整型
DoubleTensor :64位整二、创建Tensor
1 import Pytorch 2 #创建一个维度为(2,3)的张量: 3 A = torch.Tensor(2,3) 4 #创建一个元素为b数组中的元素的张量: 5 b = [[5,8],[10,20],[1,6]] 6 A = torch.FloatTensor(b) 7 #查询张量的维度信息: 8 A.size() 9 #查询变量类型: 10 A.type() 11 # 定义一个3行2列的全为0的矩阵: 12 A = torch.zeros((3, 2)) 13 #创建指定维度的随机数张量:(元素呈正态分布,均值为0,方差为1) 14 A = torch.randn(n,m) 15 #创建指定维度的随机数张量:(元素在0到1之间均匀分布) 16 A = torch.rand(n,m) 17 #创建元素以一定步长递变的张量:(步长可以为float数据类型): 18 A = torch.range(起始值,结束值,步长) 19 /********************************************************************/ 20 #创建一维向量: 21 A = torch.tensor([1.1]) 22 A = torch.tensor([1.1,2.2,3.0]) 23 #创建二维向量: 24 A = torch.randn(2,3) --->:2行3列 25 #创建三维向量: 26 A = torch.rand(3,10,10) --->3通道10行10列--->Color img 27 #创建四维向量: 28 A = torch.rand(2,3,28,28)---> [batch,channels,width,height] 29 三、张量运算 30 import Pytorch 31 #定量两个张量 32 A = torch.Tensor( [[31,-2],[4,-4],[-5,-12]]) 33 B = torch.Tensor( [[-2,-7],[-8,-4],[7,-9]]) 34 #对所有元素取绝对值: 35 C = torch.abs(A) 36 #张量对应元素相加: 37 C = torch.add(A,B) 38 #张量对应元素相乘: 39 C = torch.mul(A,B) 40 #张量对应元素相除: 41 C = torch.div(A,B) 42 #张量A的n次幂: 43 C = torch.pow(A,n)
Tensor---->Numpy 使用 data.numpy(),data为Tensor变量
Numpy ----> Tensor 使用 torch.from_numpy(data),data为numpy变量
1 import torch 2 import numpy as np 3 # 定义一个3行2列的全为0的矩阵: 4 A = torch.randn((3, 2)) 5 # tensor转化为numpy: 6 numpy_A = A.numpy() 7 # numpy转化为tensor: 8 numpy_A = np.array([[1, 2], [3, 4], [5, 6]]) 9 torch_A = torch.from_numpy(numpy_A)
Tensor ----> 单个Python数据,使用data.item(),data为Tensor变量且只能为包含单个数据
Tensor ----> Python list,使用data.tolist(),data为Tensor变量,返回shape相同的可嵌套的list
CPU张量 ----> GPU张量,使用data.cuda()
GPU张量 ----> CPU张量,使用data.cpu()
原文:https://www.cnblogs.com/yzj-notes/p/14743826.html