一、Tensor
a. 各种数值数据称为张量
b. 常数: scaler:0阶张量
c. 向量: vector:1阶张量
d. 矩阵: matrix:2阶张量
e. 3阶张量
二、张量创建方法
a. torch.tensor(list)
b. torch.empty()/zeros()/ones()
c. torch.rand()/randint()/randn()
三、张量的方法和属性
a. 数据中只有一个元素的时候,取值tensor.item()
b. 转化为numpy数组时:tensor.numpy()
c. 获取形状:
i. tensor.size()
ii.tensor.size(1) #获取一个维度的形状
d. 形状的变化:tensor.view([shape])
e. 获取阶数:tensor.dim()
f. 常用计算方法: tensor.max()/min/std
g.转置:
i. 二维tensor.t() tensor.transpose(0,1)
ii.高维: tensor.transpose(1,2)/tensor.permute(0,2,1)
transpose(0,1)沿x轴顺时针旋转
transpose(0,2)沿z轴顺时针旋转
transpose(1,2)每块转置

h.取值和切片
i. t[1.2,3]
ii. t[1,:,:]
iii.t[1,2,3] = 100
四、数据类型
a. 指定的数据类型
i. torch.tensor(array.dtype)
ii. torch.ones(array.dtype)
b. 获取数据类型
i. tensor.dtype
c. 修改数据类型
i. tensor.float()/long()/int()
d. torch.Tensor和torch.tensor的区别
i. 全局(默认的数据类型)是torch.float32
ii. torch.Tensor()传入数字表示形状和torch.FloatTensor相同
iii. torch.Tensor传入可迭代对象表示数据,类型为模型的数据类型
iv. torch.tensor()为创建tensor的方法
五、原地修改的方法:
a. x.add(y) 直接会修改x的值
六、GPU中tensor的使用
a. 实例化device: torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
b. tensor.to(device) # 把tensor转化为CUDA支持的tensor,或者CPU支持的tensor
本文介绍了张量在PyTorch中的基本概念,包括张量的阶数、创建方法、数据类型转换、原地修改、GPU使用等内容,详细阐述了如何在Python中操作和管理这些数据结构。
7万+

被折叠的 条评论
为什么被折叠?



