图像和视觉处理

1
2
3
torchvision.transforms.Resize()	# 改变图像大小
torchvision.transforms.Normalize() # 标准化图像数据
torchvision.datasets # 提供常见的图像数据集加载接口

神经网络构建

1
2
3
4
torch.nn.Linear()  # 全连接层
torch.nn.Conv2d() # 2D卷积层
torch.nn.ReLU() # ReLU激活函数
torch.nn.Sigmoid() # Sigmoid激活函数

训练和优化

1
2
3
4
# 常见的优化器
torch.optim.Adam(model.parameters(), lr=0.001)
torch.optim.SGD(model.parameters(), lr=0.001, momentum=0.9)
torch.autograd.backward(model.parameters()) # 自动计算梯度

模型保存和加载

1
2
3
# 用于保存和加载模型或张量
torch.save(model.state_dict(), 'model.pt')
torch.load('model.pt')

函数式接口

1
2
torch.nn.functional  # 提供了一系列函数式的API,例如:
torch.nn.functional.relu() # 用于ReLU激活函数

数据处理和转换

1
2
3
4
5
6
torch.tensor()  # 创建一个张量
torch.zeros(), torch.ones() # 创建全零或全一的张量
torch.randn() # 创建正态分布的随机张量
torch.from_numpy() # 将NumPy数组转化为张量
torch.mean(), torch.std() # 计算张量的均值和标准差
torch.var() # 计算张量的方差

高级数据处理和转换

1
2
3
4
torch.index_select()    # 按指定维度和索引选择数据
torch.masked_select() # 根据布尔掩码选择元素
torch.add(), torch.mul(), torch.div() # 张量的加,乘,除运算
torch.matmul() # 张量的矩阵乘法

模型分析和调试

1
2
3
torch.autograd.gradcheck()  # 用于检查梯度的正确性
torch.autograd.profiler.profile() # 性能分析工具,用于分析模型的时间和内存消耗
torchviz # 一个非官方的可视化工具,用于绘制模型的计算图

张量变换和操作

1
2
3
4
torch.split()  # 按大小或张量数量分割张量
torch.chunk() # 将张量分割成特定数量的块
torch.sort() # 对张量进行排序
torch.topk() # 返回张量中最大的k个元素

数据加载和处理

1
2
torch.utils.data.Dataset  # 自定义数据集的基类
torch.utils.data.DataLoader # 批量加载数据集的工具

自然语言处理

1
2
torchtext.data  # 提供文本预处理,加载等功能
torch.nn.Embedding() # 用于创建词嵌

高级模型架构

1
2
3
torch.nn.Transformer  # Transformer模型的实现
torch.nn.MultiheadAttention # 多头注意力机制的实现
torch.utils.cpp_extension # 允许使用C++或CUDA扩展PyTorch

优化和调试

1
2
torch.cuda.amp  # 提供自动混合精度训练的功能,以提高性能和效率
torchsummary # 提供模型架构和参数的详细总结(非官方工具)