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训练相互切换的操作过程,希望能帮到你,谢谢!

相关推荐
DeniuHe21 分钟前
深度学习中的MLP层
人工智能·深度学习
颜酱21 分钟前
LangChain 输出解析器:把模型回复变成你要的数据
python·langchain
2401_8734794024 分钟前
企业安全运营中,如何用IP离线库提前发现失陷主机?三步实现风险画像
网络·数据库·python·tcp/ip·ip
weixin_523185321 小时前
Java基础知识总结(四):引用数据类型与参数传递机制
java·开发语言·python
IT_陈寒1 小时前
Vite项目build后路由404了?你可能漏了这个小配置
前端·人工智能·后端
海兰1 小时前
【小程序】基于 AI 大语言模型驱动的中国古典诗词 Web 应用详细设计指南
人工智能·语言模型·小程序
有浔则灵1 小时前
从零开始构建 AI Agent(一):理解 Eino 的 Component 抽象与流式对话
人工智能·log4j
团象科技1 小时前
从一线运营场景观察 海外云 独立站的跨境效能释放实践路径
大数据·人工智能
今日综合1 小时前
2026免费AI自动抠图工具汇总:全平台+电脑在线全方案,无水印零套路
人工智能·电脑
码农飞哥1 小时前
我把RAG召回率从60%提到90%,就改了这两件事
python·知识库·向量检索·rag·效果提示