一.pytorch主要模块介绍
1.1 模块介绍
模块 | 描述 |
---|---|
torch | 包含激活函数和主要的张量操作 |
torch.Tensor | 定义了张量的数据类型,方法可返回新张量,方法后缀带下划线可修改张量本身 |
torch.cuda | 定义了 CUDA 运算相关的函数,如检查 CUDA 是否可用,清除缓存,设置 GPU 计算流等 |
torch.nn | 神经网络模块化的核心,包括卷积神经网络和全连接层,以及一系列损失函数 |
torch.nn.functional | 定义神经网络相关的函数,卷积函数、池化函数、log_softmax 等激活函数,torch.nn 模块调用 torch.nn.functional 的函数 |
torch.nn.init | 权重初始化模块,均匀初始化和正态分布初始化,带下划线表示修改张量本身并返回 |
torch.optim | 定义一系列优化器,如 SGD、Adam,以及学习率调度器,实现学习率衰减方法 |
torch.autograd | 自动微分算法模块,反向传播和求导函数,设置不求导部分 |
torch.distributed | 分布式计算模块,设定并行运算环境 |
torch.distributions | 强化学习等需要的策略梯度法,处理离散采样结果无法求导的问题 |
torch.hub | 提供预训练模型给用户使用,可以获取模型的 checkpoint,加载对应模型 |
torch.random | 保存和设置随机数生成器,设置随机数种子,初始化种子,设置和获取当前随机数生成器状态 |
torch.jit | 动态图转静态图,保存后被其他前端支持,关联 torch.onnx 进行深度学习模型交换 |
torch.utils.benchmark | 记录模型中各模块运行时间,优化模型性能 |
torch.utils.checkpoint | 优化模型性能,以计算时间换空间,记录中间数据计算过程 |
torch.utils.data | 主要包含 Dataset 和 DataLoader,用于数据加载和预处理 |