pytorch--常见的Tensor操作

这里写目录标题

  • 创建张量:
  • 张量形状和维度操作:
  • 张量索引与切片:
  • 张量运算:
  • Autograd 操作:
  • 逐元素操作
  • 归并函数
  • 比较
  • 线性代数

以下是一些常见的张量操作示例:

创建张量:

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 的官方文档以获取更详细的信息。
看到这了,点个赞吧(*^▽^*)

你可能感兴趣的:(pytorch,深度学习,pytorch,人工智能,python)