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
替换 autocast 和 GradScaler
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 变更和最佳实践。
如果还有其他疑问,欢迎留言交流。 😊
相关文章:
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...) i…...
微服务组件LoadBalancer负载均衡
SpringCloud 从 2020.0.1 版本开始,移除了 Ribbon 组件,使⽤Spring Cloud LoadBalancer 组件来代 替 Ribbon 实现客户端负载均衡 loadbalancer负载均衡: 复制一份provider项目,服务名一致,端口号不一致,让consumer调…...
如何本地部署DeepSeek
第一步:安装ollama https://ollama.com/download 打开官网,选择对应版本 第二步:选择合适的模型 https://ollama.com/ 模型名称中的 1.5B、7B、8B 等数字代表模型的参数量(Parameters),其中 B 是英文 B…...
vite + axios 代理不起作用 404 无效
vite axios 代理不起作用 先看官方示例 export default defineConfig({server: {proxy: {// 字符串简写写法/foo: http://localhost:4567,// 选项写法/api: {target: http://jsonplaceholder.typicode.com,changeOrigin: true,rewrite: (path) > path.replace(/^\/api/, )…...
centos7 升级openssl并安装python3
参考文章:https://www.cnblogs.com/chuanzhang053/p/17653635.html 卸载已有版本 yum remove -y openssl openssl-devel下载1.1版本 wget https://www.openssl.org/source/openssl-1.1.1v.tar.gztar -zxf openssl-1.1.1v.tar.gz 查看openssl.conf文件的目录 fin…...
使用 SDKMAN! 在 Mac(包括 ARM 架构的 M1/M2 芯片)上安装 Java 8
文章目录 1. 安装 SDKMAN!2. 查找可用的 Java 8 版本3. 安装 Java 84. 验证安装5. 切换 Java 版本(可选)6. 解决 ARM 架构兼容性问题总结 可以使用 SDKMAN! 在 Mac(包括 ARM 架构的 M1/M2 芯片)上安装 Java 8。SDKMAN! 是一个强大…...
【干活分享】2025年可以免费问答的一些GPT网站-deepseek等免费gpt
2025年已经到来,大家也都陆续回归到忙碌的工作中。在新的一年里,如何更高效地完成工作任务,提升工作效率,是很多人关心的问题。今天,就为大家分享一些实用性很强的GPT网站,帮助大家在工作中事半功倍。 Dee…...
20250211解决荣品的RK3566核心板在Android13下出现charge_extrem_low_power的问题
20250211解决荣品的RK3566核心板在Android13下出现charge_extrem_low_power的问题 2025/2/11 17:45 缘起:荣品的RK3566核心板在Android13下,出现charge_extrem_low_power之后就直接挂住了。 由于我司使用了CW2217这个电量计,没有使用核心板自…...
MapReduce到底是个啥?
在聊 MapReduce 之前不妨先看个例子:假设某短视频平台日活用户大约在7000万左右,若平均每一个用户产生3条行为日志:点赞、转发、收藏;这样就是两亿条行为日志,再假设每条日志大小为100个字节,那么一天就会产…...
算法02-各种排序算法
各种常见排序算法总结 一. 冒泡排序 (Bubble Sort) 冒泡排序是一种简单的排序算法。它重复地遍历要排序的列表,比较相邻的元素,并交换它们的位置,直到整个列表排序完成。 A、说明: 特点: 通过不断交换相邻元素&am…...
python基础入门:8.1项目1:爬虫与数据分析
Python爬虫与数据分析全流程实战:从数据采集到可视化呈现 # 综合案例:电商价格监控分析系统 import requests from bs4 import BeautifulSoup import pandas as pd import matplotlib.pyplot as plt# 配置参数 HEADERS {User-Agent: Mozilla/5.0 (Wind…...
git 克隆指定 tag 的项目
git 克隆指定 tag 的项目 一、克隆指定tag的项目二、验证克隆结果 一、克隆指定tag的项目 以 tinyxml2项目 为例说明: git clone --branch V10.0.0 https://github.com/leethomason/tinyxml2.git解释: git clone:这是克隆一个远程仓库的命…...
DeepSeek学习笔记之——初识DeepSeek
春节假期回来已经有一周时间了,这假期综合症的症状是一点没减~~~ 假期期间除了这个欢乐详和的节日气氛,就数DeepSeek最火热了!!! 什么是DeepSeek? DeepSeek是一款由国内人工智能公司研发的大型语言模型,…...
Linux 调用可执行程序
Linux 调用可执行程序 1. system() 函数1.1 system() 函数的声明1.2 system() 函数的不同场景返回值1.3 system() 函数的代码示例 2. exec() 函数族2.1 exec() 函数族的声明2.2 exec() 函数族执行失败的情况2.3 exec() 函数族的代码示例 3. exec() 与 system() 的区别以及使用注…...
MVCC面试怎么答
说到mvcc这个比较抽象的概念,很多人都有点束手无策。因为它实际上偏理论,实际应用中很难用到。但在面试中出现频率又很高,一问大部分都G。所以怎么精简回答并且能抓住重点就很关键了。往上详细解说MVCC的太多了,我这里没那么多废话…...
用Go实现 SSE 实时推送消息(消息通知)——思悟项目技术4
目录 简介 工作原理 例子 使用场景 简介 SSE(Server - Sent Events)是一种允许服务器向客户端实时推送更新的 Web 技术。是一种基于 HTTP 协议的单向通信机制,服务器可以在客户端建立连接后,持续不断地向客户端发送事件流。客…...
0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 0基础…...
vue3:动态渲染后端返回的图片
问: div classleft-png 这里我用css设置了他的背景图片,但是现在我希望改为后端返回的图片,怎么写? 后端返回数据: const centerdata {img:;xxxx,title,xxxx,num:xxxx}? 回答: 好的ÿ…...
DeepSeek小白初识指南
1.什么是DeepSeek? DeepSeek是一个基于大语言模型(LLM)的智能助手,能够处理自然语言理解、生成、对话等任务。它广泛应用于聊天机器人、内容生成、数据分析等领域。 2.DeepSeek和OpenAI等大模型差异? 虽然DeepSeek和Op…...
图像锐化(QT)
如果不使用OpenCV,我们可以直接使用Qt的QImage类对图像进行像素级操作来实现锐化。锐化算法的核心是通过卷积核(如拉普拉斯核)对图像进行处理,增强图像的边缘和细节。 以下是一个完整的Qt应用程序示例,展示如何使用Qt…...
黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门 返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...
MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)
🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...
优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...
mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...
GO协程(Goroutine)问题总结
在使用Go语言来编写代码时,遇到的一些问题总结一下 [参考文档]:https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现: 今天在看到这个教程的时候,在自己的电…...
