You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python3.9下PyTorch报CUDA error: invalid device ordinal问题求助

错误成因分析

这个RuntimeError: CUDA error: invalid device ordinal错误的核心原因是你指定的GPU设备序号不存在或不可用,具体可能有以下几种情况:

  • GPU设备序号超出实际可用范围:你的系统中实际可用的GPU数量不足3个(CUDA设备序号从0开始计数),比如只有2个GPU(序号0、1),却尝试使用cuda:2,自然会触发无效序号错误。可以运行以下代码确认可用GPU数量:

    import torch
    print(torch.cuda.device_count())
    
  • 环境变量限制了可见GPU:如果设置了CUDA_VISIBLE_DEVICES环境变量,只允许程序访问部分GPU,比如设置为CUDA_VISIBLE_DEVICES=0,1,那么程序只能看到序号0、1的GPU,cuda:2就会被判定为无效设备。

  • TensorFlow初始化抢占/修改了GPU可见性:代码开头导入了TensorFlow,TensorFlow默认会初始化CUDA上下文,可能会占用GPU或者修改GPU可见配置,导致PyTorch无法识别到序号为2的GPU。可以尝试调整导入顺序,先初始化PyTorch的GPU设备,再导入TensorFlow。

  • GPU硬件/驱动问题:极少数情况下,GPU硬件故障、驱动版本不兼容或者CUDA toolkit版本与PyTorch不匹配,也可能导致设备序号识别异常,但这种情况通常会伴随其他初始化错误。

内容的提问来源于stack exchange,提问作者MS B

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 18:09:25