🚀 作者 :“码上有前”
🚀 文章简介 :深度学习
🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬
以下是一些常见的张量操作示例:
创建张量:
import torch
x = torch.tensor([1, 2, 3]) # 从列表创建张量
y = torch.zeros(2, 3) # 创建一个全零张量
z = torch.randn(3, 3, requires_grad=True) # 创建一个正态分布张量并启用梯度追踪
张量形状和维度操作:
x.size() # 获取张量的形状
y.shape # 获取张量的形状(和 size() 相同)
y.dim() # 获取张量的维度
y.view(3, 2) # 改变张量的形状
y.unsqueeze(0) # 在指定维度上添加一个维度
y.squeeze() # 移除维度为1的维度
张量索引与切片:
x[0] # 获取张量的第一个元素
x[1:] # 获取张量的第二个元素及以后的部分
y[:, 1:3] # 获取张量的所有行和第二到第三列的部分
张量运算:
x + y # 张量相加
torch.add(x, y) # 张量相加
torch.matmul(x, y) # 张量矩阵乘法
x.mean() # 计算张量的均值
x.max() # 计算张量的最大值
torch.exp(x) # 计算张量中每个元素的指数值
Autograd 操作:
x.requires_grad_() # 启用张量的梯度追踪
x.grad # 获取张量的梯度
x.backward() # 计算张量的梯度
逐元素操作
对tensor的每一个元素进行操作
abs/sprt/div/exp/fmod/log/pow # 绝对值 平方根 除法 指数 求余 求幂
cos/sin # 等三角函数
ceil/round/floor/trunc # 上取整 四舍五入 下取整 只保留整数部分
sigmod/tanh # 激活函数
归并函数
此类操作会使得输出形状小于输入形状,并沿着某一个维度进行指定操作。
mean/sum/median/mode # 均值 总数 中位数 众数
norm/dist # 范数/距离
std/var # 标准差 方差
cumsum/cumpord # 累加 累积
比较
gt/ge/le/eq/ne # 大于 小于 大于等于 小于等于 等于 不等
topk # 最大的k个数
sort # 排序
max/min # 比较两个tensor的最大值和最小值
线性代数
此处较多,请查看文档进行查阅
这些只是一些常见的张量操作示例,PyTorch 还提供了许多其他操作,如数学函数、线性代数运算、形状重塑、张量拼接、张量分割等。请参考 PyTorch 的官方文档以获取更详细的信息。
看到这了,点个赞吧(*^▽^*)