当前位置: 首页 > news >正文

PyTorch 中 `torch.cuda.amp` 相关警告的解决方法

在最近的写代码过程中,遇到了两个与 PyTorch 的混合精度训练相关的警告信息。这里随手记录一下。


警告内容

警告 1: torch.cuda.amp.autocast

FutureWarning: `torch.cuda.amp.autocast(args...)` 
is deprecated. Please use `torch.amp.autocast('cuda', args...)` 
instead.   with autocast():

警告 2: torch.cuda.amp.GradScaler

FutureWarning: `torch.cuda.amp.GradScaler(args...)` 
is deprecated. Please use `torch.amp.GradScaler('cuda', args...)` 
instead.   scaler = GradScaler()

原因分析

在这里插入图片描述

根据 PyTorch 官方文档的更新说明,从 PyTorch 2.4 版本开始,torch.cuda.amp 模块中的部分 API 已被标记为弃用(deprecated)。为了统一 API 的设计风格,并支持更多的后端设备(如 CPU 和其他加速器)。

虽然目前这些警告并不会导致程序报错,但官方建议开发者尽快调整代码以适配最新版本的规范。


方法 1: 适配新 API

替换 autocastGradScaler

from torch.cuda.amp import autocast
with autocast():# Your codefrom torch.cuda.amp import GradScaler
scaler = GradScaler()

改为:

from torch.amp import autocast
with autocast('cuda'):# Your code from torch.amp import GradScaler
scaler = GradScaler(device='cuda')

注意:如果需要支持多设备(如 CPU),可以将 'cuda' 替换为 'cpu' 或其他目标设备。


方法 2: 降级 PyTorch 版本

如果你暂时不想修改代码,可以选择降级到 PyTorch 2.3 或更低版本。可以通过以下命令安装指定版本的 PyTorch:

pip install torch==2.3

不过,这种方法并不推荐,因为旧版本可能会缺少一些新功能或性能优化。


方法3:懒得管

import warnings
warnings.filterwarnings("ignore", category=UserWarning)

两行代码解决一切(不推荐)

尽管这些警告不会立即导致程序运行失败,但为了确保代码的兼容性和未来的可维护性,建议按照官方文档的要求对代码进行调整。此外,定期关注 PyTorch 官方文档和技术博客,可以及时了解最新的 API 变更和最佳实践。

如果还有其他疑问,欢迎留言交流。 😊

http://www.lryc.cn/news/535321.html

相关文章:

  • 微服务组件LoadBalancer负载均衡
  • 如何本地部署DeepSeek
  • vite + axios 代理不起作用 404 无效
  • centos7 升级openssl并安装python3
  • 使用 SDKMAN! 在 Mac(包括 ARM 架构的 M1/M2 芯片)上安装 Java 8
  • 【干活分享】2025年可以免费问答的一些GPT网站-deepseek等免费gpt
  • 20250211解决荣品的RK3566核心板在Android13下出现charge_extrem_low_power的问题
  • MapReduce到底是个啥?
  • 算法02-各种排序算法
  • python基础入门:8.1项目1:爬虫与数据分析
  • git 克隆指定 tag 的项目
  • DeepSeek学习笔记之——初识DeepSeek
  • Linux 调用可执行程序
  • MVCC面试怎么答
  • 用Go实现 SSE 实时推送消息(消息通知)——思悟项目技术4
  • 0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型
  • vue3:动态渲染后端返回的图片
  • DeepSeek小白初识指南
  • 图像锐化(QT)
  • 38.社区信息管理系统(基于springboothtml)
  • 游戏引擎学习第98天
  • 音频知识基础
  • 【AI赋能】蓝耘智算平台实战指南:3步构建企业级DeepSeek智能助手
  • LabVIEW无人机飞行状态监测系统
  • DeepSeek模型架构及优化内容
  • html语义化
  • python学习第十四天之机器学习名词介绍
  • 天津三石峰科技——汽车生产厂的设备振动检测项目案例
  • 汽车与AI深度融合:CES Asia 2025前瞻
  • 前端实现 GIF 图片循环播放