linux

PyTorch Linux版本的API有哪些变化

小樊
34
2025-11-28 20:12:39
栏目: 智能运维

PyTorch Linux 版本 API 变化要点

变化范围与总体说明

近期版本关键 API 变更

模块/领域 变更点 影响与建议
Tensor 创建 torch.Tensor.new_tensor() 默认改到与当前 Tensor 同设备(原始终在 cpu 检查依赖该行为的代码;如需保持原语义,显式传入 device=‘cpu’
ONNX 导出 torch.onnx.dynamo_export 改用 ExportedProgram 逻辑;部分 ExportOptions 不再支持;推荐迁移到 torch.onnx.export(…, dynamo=True, dynamic_shapes=…) 更新导出调用与参数;验证动态形状与子图行为一致性
学习率调度 LRScheduler.print_lr()verbose 参数已彻底移除 统一改为 LRScheduler.get_last_lr() 获取学习率
C++ 扩展 py_limited_api=True 现在以 -DPy_LIMITED_API 生效;不满足 Limited API 的扩展可能编译失败 若扩展使用稳定 ABI,确保符合 Limited API 要求;否则调整构建配置
符号可见性 libtorch_python.so 在除 Apple 外平台默认符号不可见 自定义 C++/Python 扩展若依赖未显式导出的符号,需更新链接与导出声明
量化导出 弃用 capture_pre_autograd_graph,改用 torch.export.export 迁移 PT2 量化导出流程,避免依赖临时 API
Autograd/数值 新增 torch.autograd.graph.GradientEdge 可作为 torch.autograd.backward 输出;为 torch.linalg.lstsqresiduals 增加梯度;改进 softmax 反向 CUDA 实现等 涉及相应算子的自定义反向/梯度检查点与数值稳定性需回归测试
Dataloader pin_memory 相关 API 不再传递 device 参数;devicepin_memory_device 未来将被弃用 更新 DataLoader 初始化与设备放置逻辑,避免传 device
NestedTensor NJT.chunk() 支持 batch 维度反向;支持更多 like 工厂;与 densematmul 改进 复核涉及 NJT 的模型分支与性能回归
torch.compile/Inductor torch.compile 支持 Torch Function 模式Inductor 支持 Prologue 融合 重新编译与基准测试,关注图优化与性能变化
硬件/并行 NVIDIA Blackwell 架构支持;原生 Context 并行Intel GPU 加速增强;FlexAttentionx86 CPU 上首 token 与吞吐优化 升级驱动/库版本;验证新后端的数值与性能
弃用 torch.onnx.dynamo_export 已弃用(建议用 torch.onnx.jit.load 加载) 迁移相关工具链与加载路径
构建/平台 Linux Wheel 迁移到 manylinux_2_28CXX11_ABI=1;不再支持 glibc 2.26(含 Amazon Linux 2CentOS 7 升级运行环境或选择兼容的 PyTorch 版本;重编译本地扩展

Linux 特有的兼容性与环境差异

升级与适配建议

0
看了该问题的人还看了