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

如何调控gpu训练参数

调整参数后的效果

1. --batch_size(降低批大小)
  • 效果:直接减少 GPU 显存占用,但可能会略微降低训练稳定性(梯度更新变少)。

  • 如何选择

    • 从默认值 24 逐步降低(如 16 → 8 → 4),直到不报 OOM 错误。

    • 如果训练时显存仍不足,需结合其他参数调整。

2. --img_size(降低输入分辨率)
  • 效果

    • 显存占用大幅减少(分辨率从 384x384 → 256x256 可减少约 50% 显存)。

    • 可能轻微影响模型精度(尤其是小物体识别任务)。

  • 建议

    • 如果任务对细节要求不高(如场景分类),优先降低分辨率。

3. --mixed_precision True(混合精度训练)
  • 效果

    • 显存占用减少 30%~50%,训练速度可能提升 20%+。

    • 对模型精度影响极小(现代模型普遍支持 FP16)。

  • 注意

    • 需确保代码支持 torch.cuda.amp(你的代码已支持 --mixed_precision 参数)。

4. --gpu_ids 0(减少 GPU 数量)
  • 效果

    • 单卡训练显存需求更低,但训练速度变慢。

    • 适用于调试或显存严重不足的情况。

补充:

这张图片显示的是运行`nvidia-smi`命令后得到的 NVIDIA GPU 状态信息。`nvidia-smi`(NVIDIA System Management Interface)是一个命令行工具,用于监控和管理 NVIDIA GPU 设备。以下是各部分信息的详细解释:


顶部信息

• Fri Jun 6 16:56:31 2025:显示命令执行的日期和时间。

• NVIDIA-SMI 572.16:显示 NVIDIA SMI 工具的版本号。

• Driver Version:572.16:显示当前安装的 NVIDIA 驱动程序版本。

• CUDA Version:12.8:显示当前支持的 CUDA 版本。


GPU 信息

• GPU:显示 GPU 的编号(如果有多个 GPU,会列出所有 GPU 的信息)。

• Name:显示 GPU 的型号,这里是 NVIDIA GeForce RTX 3050。

• Temp:显示 GPU 的当前温度,这里是 65°C。

• Perf:显示 GPU 的性能状态,P0 表示最大性能状态。

• Pwr:Usage/Cap:显示 GPU 当前功耗和最大功耗,这里是 61W/95W。

• Driver-Model:显示当前使用的驱动模型,WDDM 表示 Windows 显示驱动模型。

• Bus-Id:显示 GPU 总线 ID,用于识别特定的 GPU 设备。

• Disp.A:显示是否正在使用 GPU 进行显示输出,Off 表示没有使用。

• Memory-Usage:显示 GPU 显存的使用情况,这里是 3395MiB/4096MiB。

• GPU-Util:显示 GPU 的利用率,这里是 94%。

• Volatile Uncorr.ECC:显示易失性不可纠正的 ECC 错误,N/A 表示不适用。

• Compute M.:显示计算模式,Default 表示默认模式。

• MIG M.:显示多实例 GPU 模式,N/A 表示不适用。


进程信息

• Processes:显示当前使用 GPU 的进程信息。

• GPU:显示进程使用的 GPU 编号。

• PID:显示进程的进程 ID。

• Type:显示进程类型,C 表示计算进程。

• Process name:显示进程名称,这里是`python.exe`。

• GPU Memory Usage:显示进程使用的 GPU 显存量,这里是 N/A(不适用),可能是因为进程没有使用 GPU 进行计算。

总结:这张图片显示你的 NVIDIA GeForce RTX 3050 GPU 当前正在运行一个 Python 进程,GPU 利用率为 94%,温度为 65°C,显存使用了大约 3395MiB。

 

 

http://www.xdnf.cn/news/12667.html

相关文章:

  • 优选算法第十二讲:队列 + 宽搜 优先级队列
  • 深度学习在RNA分子动力学中的特征提取与应用指南
  • 每日互动方毅:数据要素价值在于流转,用好AI的前提是用好数据 | 爱分析访谈
  • [蓝桥杯]版本分支
  • AI 模型分类全解:特性与选择指南
  • 鸿蒙开发:loading动画的几种实现方式
  • 欧拉定理和费马定理
  • 人工智能会导致人类毁灭吗
  • 所有的Linux桌面环境
  • 从微积分到集合论(1630-1910)(历史简介)——第4章——现代积分理论的起源(Thomas Hawkins)
  • 13.MySQL用户管理
  • 【C/C++】不同防止头文件重复包含的措施
  • 【同数增位累加2+22+222+2222】2022-4-15
  • 广目软件GM DC Monitor
  • 驱控边界在哪里?知名舵机品牌伟创动力CNTE2025展带来答案
  • c# List<string>.Add(s) 报错:UnsupportedOperationException
  • antd-vue - - - - - table实现滚动加载数据
  • 什么是上下文切换?代价在哪里?
  • C++ if语句完全指南:从基础到工程实践
  • API是什么意思?如何实现开放API?
  • 开源语义分割工具箱mmsegmentation基于Lovedata数据集训练模型
  • 你如何确保监控系统的可用性?
  • python算法-移动零盛最多的水--Day021
  • WinCC学习系列-变量模拟器(WinCC TAG Simulator )
  • Wan2.1环境的安装,以及使用产品图片合成展示视频
  • 嵌入式主板详解与选购指南
  • 关于dropbear ssh服务
  • 如何让其他品牌更难转化走我们的用户?
  • thinkphp-queue队列随笔
  • Dubbo学习(一):Dubbo介绍