news 2026/6/15 1:18:59

pythonstudy Day38

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
pythonstudy Day38

GPU训练及类的call方法

@疏锦行


  1. “剩余时长(ETA)”本身就很难和记录次数线性对应

多数训练脚本的 ETA 计算方式是类似:

用最近若干 step 的平均耗时(滑动平均 / 指数平滑)

或用从 epoch 开始到现在的平均 step 耗时

然后 ETA = avg_step_time * remaining_steps

这种估计会把你“偶尔发生的额外开销”(比如每 N step 做一次 .item()、print、写日志、评估)平均摊薄。
当总 epoch=20000,而你记录次数只有 10/20/100/200 这种量级时,单次记录的开销如果是毫秒级~几十毫秒级,摊到每 step 上可能非常小,最后 ETA 的差异就会被平滑/抹掉,呈现出“差不多都 10 秒”。

  1. .loss.item() / tensor.item() 的同步是“结账式”的:频率越低,不一定越省时

你已经抓到关键:.item() 会把 GPU 上的标量拷回 CPU,而这会 强制同步(CPU 必须等 GPU 把当前队列里的 kernel 都跑完,才能拿到结果)。

但很多人忽略了:同步等待时间不是一个固定常数,而是取决于你同步那一刻 GPU 队列里“欠了多少账”。

记录很频繁(间隔小):你更频繁地“结账”,每次等的可能较短;

记录很不频繁(间隔大):GPU 可以异步跑很久,你以为“没同步所以更快”,但到你下一次 .item() 时,CPU 可能要一次性等更久(把之前积压的队列都跑完)。

所以同步的耗时分布会变成 少量大尖峰 vs 大量小尖峰。
而你记录的“剩余时长”往往是平滑后的平均值,它看到的是:尖峰被摊薄后差不多,自然就“不线性”。

  1. 你的训练瓶颈可能根本不在“记录”上(被其它项主导)

即使 .item() 有同步,整体耗时也常被这些主导:

DataLoader(CPU 解码/增强/IO/num_workers 不够、pin_memory 设置等)

GPU 计算本身(模型/输入大)

CUDA 内存分配/缓存、偶发 GC、日志写盘

进度条刷新(tqdm)、print flush、TensorBoard 写 event

当主耗时项远大于日志开销时,你把记录次数改 10 倍,ETA 也只会轻微波动,看起来“不成比例”。

  1. 你现在这组数差异很小,也可能是测量方式被“异步”骗了

如果你用 time.time() 直接包住训练 step,但 没在合适位置 torch.cuda.synchronize(),那么你测到的“step 用时”可能只是 CPU 发射 kernel 的时间,而不是 GPU 真正执行完的时间。
此时 ETA 的波动会更多来自同步点(比如 .item())的位置与平滑方式,而不是你以为的线性累积。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 12:12:36

零基础小白网络安全入门指南:2025年保姆级攻略

一、为什么选择网络安全?网络安全行业正处于黄金发展期,2025年人才缺口达200万,平均薪资区间6k-15k,工作2年后可达8k,5年经验突破12k。无论是想转行还是提升技能,网络安全都是值得投入的优质赛道。二、新手…

作者头像 李华
网站建设 2026/6/15 14:04:32

精品数据分享 | 锂电池数据集(八)CALCE电池数据集-圆柱形电池

继前分享的锂电池数据 精品数据分享 | 锂电池数据集(一)新能源汽车大规模锂离子电池数据集 精品数据分享 | 锂电池数据集(二)Nature子刊论文公开锂离子电池数据 精品数据分享 | 锂电池数据集(三)西安交通…

作者头像 李华
网站建设 2026/6/15 2:31:04

资深黑客都在删除的Linux日志,记录了哪些致命信息?黑客技术零基础入门必看教程!

日志文件对于任何 Linux 用户而言都是至关重要的工具。它们记录了操作系统和应用程序运行时发生的事件信息,包括错误、警告和安全警报等。系统会根据一系列规则自动记录这些信息,帮助管理员监控系统状况并排查问题。在本文中,我们将深入探讨日…

作者头像 李华
网站建设 2026/6/15 14:15:12

《无界流痕——182首意诗歌集》序言

豆包版序言:《无界流痕——182首意诗歌集》序言提笔写这篇序言时,窗台上的绿萝又抽了新叶,像我笔底那些没说完的句子——一晃眼,与诗歌相撞的日子,竟已走了二十年。曾在深夜的台灯下把烟蒂摁灭在稿纸旁,让月…

作者头像 李华
网站建设 2026/6/14 15:54:08

大象万镜:“昨天的梦,今天是路标”

《雨巷的邮差》 雨滴在瓦片上写诗 “未寄出的星期三” 邮差扛着空麻袋走过 袋口漏出半片枫叶 “收件人已改名” 他嘀咕,把落叶夹进未拆的信封 我追上去, 他转身时,雨停了 信封里,全是我的名字 在风里翻飞成蝶 7、《图书馆的窃听…

作者头像 李华
网站建设 2026/6/15 18:30:15

基于PLC控制的运料小车系统设计

摘 要 20世纪60年代以来,随着科学技术的进步和微电子行业的快速发展,可编程控制技术也处于快速发展阶段,在工业自动化控制领域中得到了广泛的运用。可编程控制器(PLC)拥有可靠性高和操作简便等特点,已经成…

作者头像 李华