Pytorch——多卡GPU训练与单卡GPU训练相互切换

部分深度学习网络默认是多卡并行训练的,由于某些原因,有时需要指定在某单卡上训练,最近遇到一个,这里总结如下。

目录

  • 一、多卡训练
    • [1.1 修改配置文件](#1.1 修改配置文件)
    • [1.2 修改主训练文件](#1.2 修改主训练文件)
    • [1.3 显卡使用情况](#1.3 显卡使用情况)
  • 二、单卡训练
    • [2.1 修改配置文件](#2.1 修改配置文件)
    • [2.2 显卡使用情况](#2.2 显卡使用情况)
  • 三、总结

一、多卡训练

1.1 修改配置文件

1.2 修改主训练文件

上面红框中代码解析:

python 复制代码
if torch.cuda.is_available() and ngpu > 1:         # 当 torch.cuda.is_available() 为真且 ngpu > 1 时              
	model = nn.DataParallel(model, device_ids=list(range(ngpu)))

model = nn.DataParallel(model, device_ids=list(range(ngpu))):

此行代码创建了一个 DataParallel包装器,用于在多个GPU上并行处理神经网络模型。DataParallel 是 PyTorch 中的一个模块,它可以将输入数据分割并发送到不同的GPU进行处理,然后汇总结果。

model:要并行化的神经网络模型。

device_ids=list(range(ngpu)):指定要使用的GPU。在这里,它使用了所有可用的GPU,数量上限为指定的 ngpu。

1.3 显卡使用情况

二、单卡训练

2.1 修改配置文件

2.2 显卡使用情况

修改好后开始训练,查看显卡使用情况:

三、总结

以上就是多卡GPU训练与单卡GPU训练相互切换的操作过程,希望能帮到你,谢谢!

相关推荐
GuWenyue5 小时前
写Agent还要重复封装工具?一套MCP多服务方案,3个能力让AI自动查地图、读写文件、操控浏览器
人工智能·机器学习·开源
GuWenyue5 小时前
90%AI新手不会调参!LangChain双模型流水线实战,一套代码兼顾严谨+创意
人工智能
光锥智能7 小时前
WAIC亮点|兼具泛化能力与作业效率的极智嘉机器人天团
人工智能·机器人
阳光是sunny7 小时前
LangGraph中的Reducer是什么
前端·人工智能·后端
甲维斯7 小时前
Kimi K3 重构10000行单文件屎山代码!
人工智能
阳光是sunny7 小时前
从链到图:LangGraph 入门基础全解析
前端·人工智能·后端
新知图书7 小时前
11.3 详细实现与核心配置(作业批改智能体开发)
人工智能·agent·ai agent·智能体·扣子
深度研习笔记8 小时前
OpenCV工业视觉实战11|多线程解耦+视频流稳流+推理加速,彻底解决卡顿阻塞,实现毫秒级工业实时检测
人工智能·opencv·计算机视觉
delishcomcn8 小时前
AI视觉识别+分切算法:电化铝缺陷检测与裁切一体化解锁
人工智能·算法
触底反弹8 小时前
深入理解大模型采样:Temperature、Top-K、Top-P 的原理与实战
人工智能·算法·面试