根据 PyTorch 的模块化设计和官方文档,其方法可分类统计如下表所示。需注意:PyTorch 的方法数量庞大且持续更新,不同层级(如核心算子、模块封装、工具库)的统计口径不同。以下数据综合了核心模块、扩展库(如 TorchVision)及关键子系统的分类方法数,基于最新实践整理:
分类名称 | 方法数 | 说明 |
---|---|---|
核心张量操作 | 2198+ | PyTorch 核心算子总数(含 ATen 库)8 |
神经网络构建 | 150+ | 覆盖层类型、损失函数、激活函数等(如nn.Linear , nn.CrossEntropyLoss ) |
优化器算法 | 9+ | 主要优化器(如 SGD、Adam、Adagrad)及学习率调度器6 |
数据增强 | 25+ | TorchVision 的transforms 模块方法(如裁剪、旋转、标准化)237 |
模型部署与量化 | 4+ | 量化方法(动态/静态/QAT/混合量化)1 |
编译器与加速 | 50+ | PyTorch 2.0 编译器相关操作符(如 TorchInductor 的 Loop-Level IR)8 |
torch.nn
模块提供:Sequential
、ModuleList
等 5 种。torch.optim
包含主流优化器:SGD、Adam、RMSprop、Adagrad 等 9 种基础算法,及配套学习率调度器(如 StepLR
、CosineAnnealingLR
)6。transforms
提供 22 个标准方法(分 4 类:裁剪、翻转、图像变换、增强控制),另有扩展类(如 RandomElastic
)用于医学图像等场景27。nn
、optim
)存在重叠;autograd
自定义函数)未计入分类统计;