设置cuda:1但是cuda:0在波动的问题

背景

yolo设置gpu:1但是在启动之后, 会发现gpu:0上也会出现相同进程号的进程, 并且gpu:0的利用率在波动, 而gpu1没有波动.

一、现象总结

设置了 device=1 / gpu:1

但 nvidia-smi 里 gpu:0 也出现了同一个 PID

gpu:0 显存占用 + 利用率波动

gpu:1 几乎不动 / 不波动

二、真实原因

PyTorch 会默认在 GPU:0 上初始化 CUDA 上下文,即使指定用 GPU:1 做主训练卡。

也就是说:

真正的模型、前向、反向、数据 → 99% 都在 GPU:1

GPU:0 只是被占了一个 "CUDA 上下文" + 少量显存

GPU:0 波动 = CUDA 初始化 + 少量通信开销

GPU:1 不波动 = 它在认真干活,但显示不明显(YOLO 推理 / 训练本来就快)

三、为什么 GPU:0 会有同一个 PID?

因为:

一个进程 = 一个 PID

这个进程启动 CUDA → 默认一定会初始化 GPU:0

你指定用 gpu:1 → 模型在 1 上跑

但 进程还是同一个 → 所以两边显示同一个 PID

这是 CUDA 底层机制,不是 YOLO 的问题。

四、为什么 GPU:1 不波动?

因为:

YOLO 推理 / 训练速度极快

GPU 利用率不是持续 100%

它是间歇性干活

nvidia-smi 是一秒采样一次

→ 所以你看到 GPU:1 几乎不动,但它其实在干活

五、如何确认模型真的在 GPU:1 上跑?

运行这段代码,100% 确认模型设备:

python 复制代码
运行
import torch
model = torch.load("your_weights.pt")
print(next(model.parameters()).device)

输出:

plaintext 复制代码
cuda:1

✅ 说明模型 100% 在 GPU1

六、如何彻底让 GPU0 不出现任何进程?

如果希望 GPU0 完全干净,必须在 程序最开头 设置环境变量:

python 复制代码
运行
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "1"

import torch

后面再写 YOLO 代码

效果:

只会看到 GPU:1

GPU:0 完全干净

不会出现双 GPU 现象

这是唯一能彻底解决的方法。

七、最终结论

✅ 配置没有错

✅ 模型确实在 GPU1 跑

✅ GPU0 只是 CUDA 上下文,不影响性能

✅ 想彻底干净 → 用 CUDA_VISIBLE_DEVICES=1

八. 解决方案

在 YOLO 启动脚本 /train.py 最最开头,加入这行:

python 复制代码
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "1"

说明: 必须放在 import torch 之前!必须第一行!

示例

python 复制代码
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "1"

import torch
import utils
  • 情况 2:用命令行启动(bash / 命令行)
    直接运行:
bash 复制代码
export CUDA_VISIBLE_DEVICES=1
python train.py --device 1

改完之后效果

✅ GPU:0 完全不出现任何进程

✅ GPU:1 正常占用、正常波动

✅ 模型 100% 跑在 GPU1

✅ 不会再出现 "同 PID 双 GPU" 现象

相关推荐
STLearner21 分钟前
ICML 2026 | LLM×Graph论文总结[2]【Graph4LLM,Graph4Agent,智能体记忆(Memory)
大数据·人工智能·python·深度学习·学习·机器学习·数据挖掘
ACP广源盛139246256731 小时前
此芯 P1 AI BOX / AI NAS@ACP#IX8008、IX8024 应用场景与市场机会
大数据·人工智能·分布式·单片机·嵌入式硬件
凤山老林2 小时前
从美团全栈化看 AI 冲击:前端转全栈,是自救还是必然
前端·人工智能·状态模式
大龄码农有梦想2 小时前
企业如何利用 AI 大模型提升业务效率?企业 AI 应用应该从哪些场景切入
人工智能·ai agent·ai智能体·ai应用·ai工作流·ai赋能·智能体平台
其实防守也摸鱼2 小时前
KMP全栈开发:从Android到AI Agent的技术演进与实践
android·运维·网络·人工智能·学习·安全·macos
摇滚侠7 小时前
AI 编程工具 《TRAE 官方手册》阅读笔记 AI 编程核心 上
人工智能·笔记
一个王同学7 小时前
从零到一 | CV转多模态大模型 | week19 | 基于 FastAPI 和 vLLM 的多模态大模型部署
人工智能·深度学习·计算机视觉·fastapi·改行学it·vllm
m沐沐8 小时前
【深度学习】YOLOv2目标检测算法——改进点、网络结构与聚类先验框解析
人工智能·pytorch·深度学习·算法·yolo·目标检测·transformer
企业老板ai培训8 小时前
破解中小企业AI变现难:2026年企业AI培训与陪跑行业趋势深度报告,为何从‘陪跑’到‘变现’才是关键?
大数据·人工智能
神奇霸王龙9 小时前
国产音乐视频 Prompt 三段式屠夫榜:5 个国产视频模型实测对比
人工智能·ai·prompt·音视频·agent·ai编程·agi