怎么做支付网站,数据中台系统,一个空间做2个网站,七台河新闻联播今天的RuntimeError: CUDA error: invalid device ordinal 报错分析#xff1a;可能原因1#xff1a;设置CUDA_VISIBLE_DEVICES的问题解决办法#xff1a; 可能原因2#xff1a;硬件或驱动原因解决方法#xff1a; 参考资料 报错分析#xff1a;
如果你在运行代码时报错#… RuntimeError: CUDA error: invalid device ordinal 报错分析可能原因1设置CUDA_VISIBLE_DEVICES的问题解决办法 可能原因2硬件或驱动原因解决方法 参考资料 报错分析
如果你在运行代码时报错
RuntimeError: CUDA error: invalid device ordinal这个错误通常表示您指定的 GPU 设备编号不存在或不可用。
可能原因1设置CUDA_VISIBLE_DEVICES的问题
我回顾一下我是怎么遇到的这个问题
我在sh文件里写了一句CUDA_VISIBLE_DEVICES1。我在sh调用的py文件里又写了一句os.environ[CUDA_VISIBLE_DEVICES] 1。之后运行程序报错。
报错原因 4. 我在sh文件里设置CUDA_VISIBLE_DEVICES1来运行程序这意味着py程序只能看见一张GPU卡也就是1号卡 。 5. 这一张1号卡通过物理设备编号到虚拟设备编号的映射因为GPU卡号索引从0开始py程序认为整个设备只有一张0号GPU卡。 6. 这时我再在py文件里加一句os.environ[“CUDA_VISIBLE_DEVICES”] “1”让其在只认为程序有一张0号卡的时候运行1号卡它就会报错认为GPU设备编号不存在。
解决办法
把py文件里的os.environ[CUDA_VISIBLE_DEVICES] 1删掉即可只在sh文件里输入指定的卡号即可。
可能原因2硬件或驱动原因
系统可能确实没有那么多卡或驱动没装好
解决方法
检查GPU数量和设备编号 使用nvidia-smi命令来查看系统中可用的GPU数量和它们的编号。确保你的代码中使用的设备编号与nvidia-smi显示的编号相匹配。 访问NVIDIA官网下载并安装与你的GPU型号和系统相匹配的最新驱动。 确保安装了正确版本的CUDA工具包并且与你的GPU驱动兼容。检查代码中的设备选择逻辑仔细审查你的代码特别是与CUDA设备选择和初始化相关的部分。确保在尝试使用CUDA设备之前已经正确地选择了存在的设备。可以使用如下两条命令来检查设备选择逻辑。 print(torch.cuda.device_count())print(torch.cuda.current_device())
参考资料
我自己的实验已解决RuntimeError: CUDA error: invalid device ordinal 亲测有效